1. A computer-implemented method for facilitating the execution of a transaction for a program in a hardware-supported transactional memory system, comprising: recording a misspeculation indicator of the transaction during execution of the transaction using hardware transactional memory mechanisms; detecting a transaction failure associated with the transaction; and providing the recorded misspeculation indicator to the program to facilitate a response to the transaction failure by the program.