US11188460B2ActiveUtilityA1

Arena-based memory management

53
Assignee: MICROSOFT TECHNOLOGY LICENSING LLCPriority: Jun 18, 2018Filed: Jun 18, 2018Granted: Nov 30, 2021
Est. expiryJun 18, 2038(~11.9 yrs left)· nominal 20-yr term from priority
G06F 12/0253G06F 12/0246G06F 2212/1044G06F 2212/7205
53
PatentIndex Score
0
Cited by
5
References
20
Claims

Abstract

An arena-based memory management system is disclosed. In response to a call to reclaim memory storing a plurality of objects allocated in an arena, a garbage collection of the arena is triggered based on heap-related parameter. A live object of the plurality of objects is preserved with the garbage collection.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A method of controlling an arena-based memory management system, the method comprising:
 allocating a plurality of objects into an arena in memory from a programmed allocation in an application, the arena reclaimable after a programmed deallocation in the application, the memory including the arena and a segment for collected managed objects; 
 triggering a garbage collection of the collected managed objects in response to a heap- related parameter of the segment for collected managed objects; 
 in response to a call in the application to reclaim memory storing a plurality of objects allocated in the arena, deallocating the arena with the garbage collection, the deallocation delayed until the garbage collection is triggered; and 
 preserving a live object of the plurality of objects with the garbage collection. 
 
     
     
       2. The method of  claim 1  wherein the heap-related parameter includes a memory load that surpasses a threshold. 
     
     
       3. The method of  claim 1  wherein the heap-related parameter includes a ratio of an arena size to a heap size that surpasses a threshold or a survival ratio of arena objects. 
     
     
       4. The method of  claim 1  wherein the triggering of the garbage collection includes reclaiming the memory with the garbage collection. 
     
     
       5. The method of  claim 1  wherein the triggering the garbage collection is in response to a plurality of calls to reclaim memory in a plurality of arenas. 
     
     
       6. The method of  claim 5  wherein the preserving the live object includes preserving a plurality of live objects in the plurality of arenas. 
     
     
       7. The method of  claim 1  wherein the heap-based parameter delays the triggering the garbage collection in response to the call to reclaim memory. 
     
     
       8. The method of  claim 7  wherein the heap-based parameter delays the triggering the garbage collection in response to a plurality of calls to reclaim memory. 
     
     
       9. The method of  claim 1  wherein the live object includes an accessible pointer from another arena. 
     
     
       10. The method of  claim 1  wherein the garbage collection includes a tracing garbage collection. 
     
     
       11. The method of  claim 1  wherein the preserving the live object includes comprising relocating the live object out of the arena. 
     
     
       12. An arena-based memory management system, comprising:
 a memory device to store a set of instructions; and 
 a processor to execute the set of instructions to: 
 allocate a plurality of objects into an arena in memory from a programmed allocation in an application, the arena reclaimable after a programmed deallocation in the application, the memory including the arena and a segment for collected managed objects; 
 trigger a garbage collection of the collected managed objects in response to a heap-related parameter of the segment for collected managed objects; 
 in response to a call in the application to reclaim memory storing a plurality of objects allocated in the arena, deallocate the arena with the garbage collection, deallocation delayed until the garbage collection is triggered; and 
 preserve a live object of the plurality of objects with the garbage collection. 
 
     
     
       13. The system of  claim 12  wherein the heap-related parameter is based on a capacity of heap memory. 
     
     
       14. The system of  claim 13  wherein the wherein the heap-related parameter includes a memory load that surpasses a threshold. 
     
     
       15. The system of  claim 13  wherein the arena occupies a size that is a percentage of the heap. 
     
     
       16. The system of  claim 12  wherein the heap-based parameter delays the trigger of the garbage collection in response to a plurality of calls to reclaim memory. 
     
     
       17. The system of  claim 12  wherein the trigger of the garbage collection includes reclamation of the memory with the garbage collection. 
     
     
       18. A computer readable device to store computer readable instructions to control a processor to control an arena-based memory, the instructions comprising:
 allocate a plurality of objects into an arena in memory from a programmed allocation in an application, the arena reclaimable after a programmed deallocation in the application, the memory including the arena and a segment for collected managed objects; 
 trigger a garbage collection of the collected managed objects in response to a heap-related parameter of the segment for collected managed objects; 
 in response to a call in the application to reclaim memory storing a plurality of objects allocated in the arena, deallocate the arean with the garbage collection, the deallocation delayed until the garbage collection is triggered; and 
 preserve a live object of the plurality of objects with the garbage collection. 
 
     
     
       19. The computer readable device of  claim 18  wherein the heap-related parameter is based on a capacity of heap memory. 
     
     
       20. The computer readable device of  claim 18  wherein the live object is relocated in a heap out of the arena.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.