As we discussed during the debate session, upcoming Intel Haswell architecture includes hardware support for transactional memory, including a lock elision extension designed to transparently accelerate legacy code based on locks. This OP discusses this extension in a context of managed languages.
Design a way to accelerate the implementation of "synchronized" keyword in Java. In particular, pay attention to the performance implications such as contention, transaction size and locality. Discuss ways to optimize the Java compiler or the JVM itself to improve the end-to-end performance of the system.