Patent ID: 7191441

Claim:
A method of saving, in suspended form, a state of an application that is running on a software virtual machine on a computer system, the method comprising the steps of: placing the software virtual machine and the application into a state of suspension; determining a current state of components of the application that is running on the virtual machine, including heap, threads, and stack; in response to determining that there are any pinned objects on the heap, abandoning creation of a save file for the current state of components of the application that is running on the virtual machine, wherein pinned objects are objects on the heap that are referenced from the stack; in response to determining that there are no pinned objects on the heap, storing the current state of components of the application, which is running on the virtual machine, into a save file; and in response to determining that there are no pinned objects on the heap, creating a vector table that describes contents of the heap, wherein the vector table contains, for each object in the heap, an identifier number for the object in the heap, the length of the object in the heap, and the object in the heap itself, and wherein an order of objects in the vector table is identical to an order of objects in the heap.