1. A method for analyzing and modifying computer code to comprise atomic memory operations in a transactional memory system for memory operations contained outside of memory transactions, the method comprising: compiling computer code comprising memory transactions comprising atomic blocks of code; during compilation of the computer code comprising memory transactions comprising atomic blocks of code: identifying one or more non-transactional memory operations which access objects outside of memory transactions comprising atomic blocks of code; and augmenting an identified non-transactional memory operation which accesses an object outside of a memory transaction comprising an atomic block of code creating a new atomic block of code comprising the identified non-transactional memory operation and an open operation which opens the object for access by the non-transactional memory operation before the identified non-transactional memory operation, the new atomic block of code ensuring atomicity between transactional memory accesses to the object and accesses to the object by the new atomic block of code.