@requires semantics for VM flags

David Holmes david.holmes at oracle.com
Wed Nov 7 09:01:39 UTC 2018


Can you clarify the intended semantics for @requires when referencing a 
VM flag. It seems the current behaviour is:

@requires foo -> foo must exist and == true
@requires !foo -> foo must exist and == false
@requires foo == true -> IF foo exists then it == true
@requires foo == false -> IF foo exists then it == false

I would have naively expected:

@requires foo


@requires foo == true

to be semantically identical?

Follow up question: if there are multiple @requires are they evaluated 
using short-circuit logic ie:

@requires vm.bits == 64
@requires VMFlagOnlyFor64Bits

will not look for the flag if running on a 32-bit system?


More information about the jtreg-use mailing list