This document discusses extending OpenJDK to support hybrid software transactional memory (STM) and hardware transactional memory (HTM). It describes the current XJ system architecture, which uses bytecode rewriting and a runtime library to support transactions in Java. The document proposes direct extensions to OpenJDK to support transactions more efficiently, including modifications to the locking protocol and compiler optimizations to better leverage Intel TSX hardware transactional memory.