Nice paper.<p>IIRC sometime later a further important optimization, known as biased locking[1], was added to Java locks to avoid, in the always uncontended case, the expensive CAS required to acquire the lock.<p>[1] <a href="https://blogs.oracle.com/dave/biased-locking-in-hotspot" rel="nofollow">https://blogs.oracle.com/dave/biased-locking-in-hotspot</a>
There was a sequel to this, from different researchers, also at IBM, proposing an improvement called a tasuki lock:<p><a href="http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.92.3010&rep=rep1&type=pdf" rel="nofollow">http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.92....</a>