1. In a data processing system having at least one CPU, a memory operatively coupled to said CPU, said memory including a storage medium tangibly embodying data that is subject to concurrent access by a data updater that updates said data and a data reader that reads said data, a method for safely rolling back transactions implemented by said updater to update said data using a transactional memory technique as said reader reads said updated data while said transactions are uncommitted and subject to roll back, comprising: said updater executing on said at least one CPU to perform a data update on said data to produce updated data using a transactional memory technique wherein said data update is implemented as a transaction in which said updated data is initially uncommitted data due to said transaction being subject to roll back in the event of said transaction aborting, said uncommitted data comprising a transaction write set representing shared memory locations that are written to during said transaction; said reader executing on said at least one CPU to perform a data read on said uncommitted data after said transaction has started and prior to said transaction either committing or aborting; and upon an abort of said transaction, deferring reclamation of said memory locations used by said uncommitted data until a grace period has elapsed after which said reader can no longer be referencing said uncommitted data.