Short-circuit boolean evaluation is needed to write reliable @requires expressions. Example [1][2] is UseCompressedOops VM boolean flag which is not defined for 32-bit VM. Correct test requirement would be:
@requires vm.bits == 64 & vm.opt.final.UseCompressedOops
- here we expect jtreg not to check right expression when left one is false.
[1] http://mail.openjdk.java.net/pipermail/jtreg-use/2018-November/000661.html
[2] http://mail.openjdk.java.net/pipermail/hotspot-dev/2018-November/035132.html
@requires vm.bits == 64 & vm.opt.final.UseCompressedOops
- here we expect jtreg not to check right expression when left one is false.
[1] http://mail.openjdk.java.net/pipermail/jtreg-use/2018-November/000661.html
[2] http://mail.openjdk.java.net/pipermail/hotspot-dev/2018-November/035132.html