Multi-section garbage collection
First Claim
1. A system, comprising:
- a processor, comprising;
a load-monitored region register; and
a memory storing program code, which, when executed on the processor performs an operation for garbage collection, the operation comprising;
specifying a load-monitored region within a memory managed by a runtime environment;
enabling a load-monitored event-based branch configured to occur responsive to executing a first type of CPU instruction to load a pointer that points to a first location in the load-monitored region;
performing a garbage collection process in the load-monitored region in background without pausing executing in the runtime environment;
during the garbage collection process, executing a CPU instruction of the first type to load a pointer that points to the first location in the load-monitored region;
responsive to triggering a load-monitored event-based branch, moving an object pointed to by the pointer with a handler from the first location in memory to a second location in memory.
1 Assignment
0 Petitions
Accused Products
Abstract
Apparatus for a garbage collection is disclosed herein. The apparatus includes a processor that includes a load-monitored region register. A memory stores program code, which, when executed on the processor performs an operation for garbage collection, the operation includes specifying a load-monitored region within a memory managed by a runtime environment; enabling a load-monitored event-based branch configured to occur responsive to executing a first type of CPU instruction to load a pointer that points to a first location in the load-monitored region; performing a garbage collection process in background without pausing executing in the runtime environment; executing a CPU instruction of the first type to load a pointer that points to the first location in the load-monitored region; responsive to triggering a load-monitored event-based branch, moving an object pointed to by the pointer with a handler from the first location in memory to a second location in memory.
-
Citations
13 Claims
-
1. A system, comprising:
-
a processor, comprising; a load-monitored region register; and a memory storing program code, which, when executed on the processor performs an operation for garbage collection, the operation comprising; specifying a load-monitored region within a memory managed by a runtime environment; enabling a load-monitored event-based branch configured to occur responsive to executing a first type of CPU instruction to load a pointer that points to a first location in the load-monitored region; performing a garbage collection process in the load-monitored region in background without pausing executing in the runtime environment; during the garbage collection process, executing a CPU instruction of the first type to load a pointer that points to the first location in the load-monitored region; responsive to triggering a load-monitored event-based branch, moving an object pointed to by the pointer with a handler from the first location in memory to a second location in memory. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer readable non-transitory storage medium having stored thereon instructions that when executed by a processor cause the processor to perform an operation for garbage collection, comprising:
-
specifying a load-monitored region within a memory managed by a runtime environment; enabling a load-monitored event-based branch configured to occur responsive to executing a first type of CPU instruction to load a pointer that points to a first location in the load-monitored region; performing a garbage collection process in the load-monitored region in background without pausing executing in the runtime environment; during the garbage collection process, executing a CPU instruction of the first type to load a pointer that points to the first location in the load-monitored region; and responsive to triggering a load-monitored event-based branch, moving an object pointed to by the pointer with a handler from the first location in memory to a second location in memory. - View Dependent Claims (9, 10, 11, 12, 13)
-
Specification