Claims
- 1. A method for performing data migration, comprising:
receiving a list objects to perform the data migration; selecting an object from the received list of objects; scanning the selected object to identify a reference to another object; and for the identified reference, looking up an action in a table indexed by a memory space of the selected object and a memory space of the other object and, if the action indicates a copy operation, copying the other object.
- 2. A method according to claim 1, further comprising:
generating the list of objects based on an exit table between a call-duration memory and a session-duration memory.
- 3. A method according to claim 1, further comprising:
generating the list of objects based on roots of a session-duration memory.
- 4. A method according to claim 1, further comprising:
receiving a reference to a copy routine; and executing the copy routine via the reference to perform the copy operation.
- 5. A method according to claim 4, wherein the copy routine comprises an arrangement of instructions configured for:
checking a table of forwarding references, copying an object, and updating the table of forwarding references if a memory space of the other object does not permit a forwarding pointer to be stored in the memory space.
- 6. A method according to claim 4, wherein the first copy routine comprises an arrangement of instructions configured for:
copying an object, and storing a forwarding pointer in a memory space of the other object.
- 7. A method according to claim 1, further comprising:
receiving a reference to an external reference handling routine; checking if the reference to the other object is an external reference; and if the reference to the other object is an external reference, then executing the external reference handling routine.
- 8. A computer-readable medium bearing instructions for performing data migration, said instructions arranged, upon execution by one or more processors to perform the method according to claim 1.
- 9. A method for performing data migration, comprising: providing a driver routine comprising an arrangement of instructions configured to operate on
a list of objects by:
selecting an object from the received list of objects; scanning the selected object to identify a reference to another object; and for the identified reference, looking up an action based on a memory space of the selected object and a memory space of the other object and, if the action indicates a copy operation, copying the other object; performing a migration of objects from a call-duration memory to a session-duration memory by invoking the driver routine using entries in an exit table as the list of objects; and performing a garbage collection of objects in the session-duration memory by invoking the driver routine using roots of the session-duration memory as the list of objects.
- 10. A method according to claim 9, further comprising:
receiving a reference to a copy routine; and executing the copy routine to perform the copy operation.
- 11. A method according to claim 10, wherein performing the migration of the objects from the call-duration memory to the session-duration memory includes using a copy routine that comprises an arrangement of instructions configured for:
checking a table of forwarding references, copying an object, and updating the table of forwarding references if a memory space of the other object does not permit a forwarding pointer to be stored in the memory space.
- 12. A method according to claim 10, wherein performing the garbage collection of the objects in the session-duration memory includes using a copy routine that comprises an arrangement of instructions configured for:
copying an object, and storing a forwarding pointer in a memory space of the other object.
- 13. A computer-readable medium bearing instructions for performing data migration, said instructions arranged, upon execution by one or more processors to perform the method according to claim 9.
- 14. A method for performing data migration, comprising:
providing a driver routine comprising an arrangement of instructions configured to operate on a list of objects and a reference to a copy routine by performing the steps of:
selecting an object from the received list of objects; scanning the selected object to identify a reference to another object; and for the identified reference, looking up an action based on a memory space of the selected object and the other object and, if the action indicates a copy operation, executing the copy routine; performing a migration of objects from a call-duration memory to a session-duration memory by invoking the driver routine using entries in an exit table as the list of objects and a first copy routine as the copy routine,
wherein the first copy routine comprises an arrangement of instructions configured for checking a table of forwarding references, copying an object, and updating the table of forwarding references if a memory space of the other object does not permit a forwarding pointer to be stored in the memory space; and performing a garbage collection of objects in the session-duration memory by invoking the driver routine using roots of the session-duration memory as the list of objects and a second copy routine as the copy routine, wherein the second copy routine comprises an arrangement of instructions configured for:
wherein the first copy routine comprises an arrangement of instructions configured for copying an object and storing a forwarding pointer in a memory space of the other object.
- 15. A computer-readable medium bearing instructions for performing data migration, said instructions arranged, upon execution by one or more processors to perform the method according to claim 14.
RELATED APPLICATIONS
[0001] The present application claims the benefit of U.S. Provisional Patent Application Serial No. 60/378,391 filed on May 8, 2002 (attorney docket number 50277-1054), the contents of which are hereby incorporated by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60378391 |
May 2002 |
US |