Multiple stage garbage collector
First Claim
Patent Images
1. A method of garbage collection in a computing device, comprising:
- determining a heap size stage from a plurality of heap size stages including a heap size growth stage and a heap size stable stage, the determining of the heap size stage from an amount of free space in a previous garbage collection;
applying a heap stable garbage collection in response to the heap size stage determined to be the heap size stable stage; and
applying a heap growth garbage collection in response to the heap size stage determined to be the heap size growth stage, the heap stable garbage collection and heap growth garbage collection triggered based on a dynamically tunable parameter related to the amount of free space from a previous garbage collection in a closed feedback loop, an amount of free space at the heap stable garbage collection trigger includes a preselected goal amount of memory space and an error amount of memory space.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for use with a garbage collector to provide different garbage collections is disclosed. The garbage collections are concurrent garbage collection provided in a dedicated thread concurrently running in a computing device with a mutator thread. A heap size stage, from multiple heap size stages including a heap size growth stage and a heap size stable stage, is determined from a free space amount subsequent a garbage collection. A heap stable garbage collection is applied in response to the heap size stage being the heap size stable stage. A heap growth garbage collection is applied in response to the heap size stage being the heap size growth stage.
-
Citations
20 Claims
-
1. A method of garbage collection in a computing device, comprising:
-
determining a heap size stage from a plurality of heap size stages including a heap size growth stage and a heap size stable stage, the determining of the heap size stage from an amount of free space in a previous garbage collection; applying a heap stable garbage collection in response to the heap size stage determined to be the heap size stable stage; and applying a heap growth garbage collection in response to the heap size stage determined to be the heap size growth stage, the heap stable garbage collection and heap growth garbage collection triggered based on a dynamically tunable parameter related to the amount of free space from a previous garbage collection in a closed feedback loop, an amount of free space at the heap stable garbage collection trigger includes a preselected goal amount of memory space and an error amount of memory space. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A system to reclaim memory, comprising:
-
a memory device to store a set of instructions; and a processor to execute the set of instructions to; determine a heap size stage from a plurality of heap size stages including a heap size growth stage and a heap size stable stage, the heap size stage is determined from a free space of a previous garbage collection; apply a heap stable garbage collection in response to the heap size stage determined to be the heap size stable stage; and apply a heap growth garbage collection in response to the heap size stage determined to be the heap size growth stage, the heap stable garbage collection and heap growth garbage collection triggered based on a dynamically tunable parameter related to a memory space goal from a previous garbage collection in a closed feedback loop, a free space amount at the heap stable garbage collection trigger includes a preselected goal amount of memory space and an error amount of memory space. - View Dependent Claims (16, 17, 18)
-
-
19. A computer readable medium to store computer readable instructions to control a processor to reclaim memory, the instructions comprising:
-
provide one of a plurality of concurrent garbage collections in a dedicated thread concurrently running in the computing device with a mutator thread; determine a heap size stage from a plurality of heap size stages including a heap size growth stage and a heap size stable stage, the heap size stage determined from a previous one of the plurality of concurrent garbage collections; apply a heap stable garbage collection having a first goal of free memory space in response to the heap size stage determined to be the heap size stable stage; and apply a heap growth garbage collection having a second goal of free memory space in response to the heap size stage determined to be the heap size growth stage, the heap stable garbage collection and heap growth garbage collection triggered based on a dynamically tunable parameter related to an amount of free memory space from a previous garbage collection in a closed feedback loop, the amount of free memory space at the heap stable garbage collection trigger includes a preselected goal amount of memory space and an error amount of memory space. - View Dependent Claims (20)
-
Specification