1. A method for executing a long transaction in a system with limited transactional hardware resources, comprising: executing the long transaction in a non-transactional mode, which does not use transactional hardware resources; deferring stores generated during the long transaction so that the stores are not committed to the architectural state of a processor until the transaction is successfully completed; and if the long transaction successfully completes, committing the long transaction, which involves performing multiple hardware transactions to commit the deferred stores to the architectural state of the processor.