@Override public void init(int blockId, String metainf) { readSet.clear(); writeSet.clear(); // Lock according to the transaction irrevocable state if (irrevocableState) irrevocableAccessLock.writeLock().lock(); else irrevocableAccessLock.readLock().lock(); endTime = clock.get(); startTime.set(endTime); status.set(((status.get() + (1 << STATUS_BITS)) & ~STATUS_MASK) | TX_ACTIVE); if (RO_HINT) { atomicBlockId = blockId; readWriteHint = readWriteMarkers.get(atomicBlockId); } attempts++; vr = (VR_THRESHOLD > 0 && VR_THRESHOLD <= attempts); }