Patent ID: 6125434
Filing Date: 2000-09-26
Classification: G06F,Y10S

Abstract:
A method for dynamic memory reclamation in a computer having a memory containing a heap, and at least one of an operating system with a dynamic memory manager, and a language runtime environment with a dynamic memory manager, wherein an application program sends requests for memory allocation and deallocation to the dynamic memory manager, said method comprising the steps of:a) emulating the interfaces of the dynamic memory manager by an interface module, the interface module being disposed separate from and operating independent of the application program;b) intercepting a request for memory allocation or deallocation from the application to the dynamic memory manager by the interface module;c) generating a request that is transmitted from the interface module to the memory manager, as if sent directly from the application, which then performs the application's requested memory allocation or deallocation, wherein memory allocation/deallocation information is created;d) communicating the memory allocation/deallocation information to the interface module;e) maintaining a list of allocated heap memory segments from the allocation/deallocation information in the interface module;f) performing a conservative garbage collection process, without rebuilding the application program, using the list of allocated heap memory segments in the interface module to detect inaccessible heap memory segments;g) receiving a request for memory deallocation from a reclamation module by the interface module;h) generating a request that is transmitted from the interface module to the memory manager, as if sent directly from the reclamation module to deallocate the inaccessible heap segments;i) deallocating the heap segments in the dynamic memory manager, wherein memory allocation/deallocation information is created;j) communicating the memory allocation/deallocation information back to the interface module; andk) updating the list of allocated heap memory segments in the interface module.