A system and method for automatically converting a compiled program that accesses
objects stored in main memory into a program that accesses and updates persistently
stored objects. An initial computer program includes original instructions for
accessing and updating objects in at least a first object class. The original instructions
access and update objects in a computer's main memory. The system automatically
revises the initial computer program to generate a revised computer program by
adding to the original instructions object loading instructions and object storing
instructions. The system further revises the initial computer program to generate
the revised computer program by adding to the original instructions dirty object
marking instructions that, during execution of the revised computer program, keep
track of which objects in the computer's main memory contain new and/or updated data.