1. A method comprising: receiving a block of instructions for execution as an object in a software transactional memory transaction; computing a base of the object; finding a lock for the object using the base of the object.