A high-concurrency transactional memory (TM) implementation needs to track concurrent accesses, buffer speculative updates, and manage conflicts, requiring support for data isolation and memory monitoring (DIMM). In this talk, I will present a system we call FlexTM (FLEXible Transactional Memory), that utilizes four decoupled hardware mechanisms that provide DIMM support: read and write signatures, which summarize per-thread access sets; per-thread conflict summary tables (CSTs), which identify the threads with which conflicts have occurred; Programmable Data Isolation, which maintains speculative updates in the local cache and employs a thread-private buffer (in virtual memory) in the rare event of overflow; and Alert-On-Update, which selectively notifies threads about coherence events. All mechanisms are software-accessible, to enable virtualization across context switches, overflow, and page swaps. FlexTM (1) decouples conflict detection from conflict management and allows software to control management time (i.e., eager or lazy); (2) tracks conflicts on a thread-by-thread basis rather than a location-by-location basis and enables software to dictate policy without the overhead of separate metadata; and (3) permits TM components to be used for non-transactional purposes. To the best of our knowledge, it is the first hardware TM to admit a distributed commit protocol with no global arbitration. If time permits, I will present results to demonstrate the efficiency of the system, as well as the utility of its flexible policies. I will also demonstrate how the DIMM mechanisms may be used for other non-transactional purposes such as program debugging.