Garbage collection with memory quick release
First Claim
Patent Images
1. A method of memory management, comprising:
- identifying a region of virtual memory to be reclaimed, the region including an object that is currently located at an original virtual memory location, and the region being supported by at least a portion of a memory resource;
relocating the object from the original virtual memory location to a target virtual memory location;
copying the object to the target virtual memory location;
establishing a forwarding pointer;
protecting the region of virtual memory to be reclaimed;
releasing the portion of the memory resource so that the portion of memory resource can be reused; and
after the portion of the memory resource is released, remapping one or more references to the object to the target virtual memory location.
7 Assignments
0 Petitions
Accused Products
Abstract
Memory management includes identifying a region of virtual memory to be reclaimed, the region including at an object that is currently located at an original virtual memory location, and the region being supported by at least a portion of a memory resource; relocating the object from the original virtual memory location to a target virtual memory location; remapping one or more references to the object to the target virtual memory location; and releasing the portion of the memory resource prior to or contemporaneously with remapping the one or more references to the target location.
-
Citations
20 Claims
-
1. A method of memory management, comprising:
-
identifying a region of virtual memory to be reclaimed, the region including an object that is currently located at an original virtual memory location, and the region being supported by at least a portion of a memory resource; relocating the object from the original virtual memory location to a target virtual memory location; copying the object to the target virtual memory location; establishing a forwarding pointer; protecting the region of virtual memory to be reclaimed; releasing the portion of the memory resource so that the portion of memory resource can be reused; and after the portion of the memory resource is released, remapping one or more references to the object to the target virtual memory location. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A system comprising:
-
a memory resource; a processor coupled to the memory resource, configured to; identify a region of virtual memory to be reclaimed, the region including an object that is currently located at an original virtual memory location, and the region being supported by at least a portion of a memory resource; copy the object to the target virtual memory location; establish a forwarding pointer; protect the region of virtual memory to be reclaimed; relocate the object from the original virtual memory location to a target virtual memory location; release the portion of the memory resource so that the portion of memory resource can be reused; and after the portion of the memory resource is released, remap one or more references to the object to the target virtual memory location. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19)
-
-
20. A computer program product for memory management, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions configured for:
-
identifying a region of virtual memory to be reclaimed, the region including an object that is currently located at an original virtual memory location, and the region being supported by at least a portion of a memory resource; relocating the object from the original virtual memory location to a target virtual memory location;
copying the object to the target virtual memory location;establishing a forwarding pointer; protecting the region of virtual memory to be reclaimed; releasing the portion of the memory resource so that the portion of memory resource can be reused; and after the portion of the memory resource is released, remapping one or more references to the object to the target virtual memory location.
-
Specification