- All Implemented Interfaces:
- Cloneable
public abstract class FieldLockInfo
extends Object
implements Cloneable
class encapsulating the lock protection status for field access
instructions. Used by on-the-fly partial order reduction in FieldInstruction
to determine if a GET/PUT_FIELD/STATIC insn has to be treated as a
boundary step (terminates a transition). If the field access is always
protected by a lock, only the corresponding sync (INVOKExx or MONITORENTER)
are boundary steps, thus the number of states can be significantly reduced.
FieldLockInfos are only used if vm.por.sync_detection is set
NOTE this might involve assumptions that can be violated in subsequent
paths, and might cause potential races to go undetected