TL;DR: In this paper, a technique that permits a conservative garbage collector to be used with the heap management functions provided by an allocator which is independent of the garbage collector is presented, where the allocator makes a current heap map in the malloc table that specifies the location of each block in the current heap and whether the block is collectible by the collector.
Abstract: A technique that permits a conservative garbage collector to be used with the heap management functions provided by an allocator which is independent of the garbage collector. The allocator and the garbage collector (139) employ a malloc table (319) to exchange information about the heap (125). When the allocator determines that determines that garbage collection is required, the allocator makes a current heap map in the malloc table that specifies the location of each block in the current heap and whether the block is collectible by the garbage collector. The allocator then invokes the garbage collector, which uses the current heap map in its mark cycle to make a mark list that indicates which of the heap blocks are pointed to by apparent pointers in the processer's address space.
TL;DR: Several implementations of the kinetic heap, a heap (priority queue) in which the key of each item, instead of being fixed, is a linear function of time, are described.
Abstract: We describe several implementations of the kinetic heap, a heap (priority queue) in which the key of each item, instead of being fixed, is a linear function of time. The kinetic heap is a simple example of a kinetic data structure of the kind considered by Basch, Guibas, and Hershberger. Kinetic heaps have many applications in computational geometry, and previous implementations were designed to address these applications. We describe an additional application, to broadcast scheduling. Each of our kinetic heap implementations improves on previous implementations by being simpler or asymptotically faster for some or all applications.
TL;DR: In this paper, the authors proposed to increase the efficiency of virtual memory usage when performing heap allocation and reduce virtual memory fragmentation caused by heap allocation, instead of incrementally growing the initial heaps when there is not enough heap memory to make an allocation, an entirely new heap is created in which to make the allocation.
Abstract: The present invention increase the efficiency of virtual memory usage when performing heap allocation and reduces virtual memory fragmentation caused by heap allocation. Instead of incrementally growing the initial heaps when there is not enough heap memory to make an allocation, an entirely new heap is created in which to make the allocation. That new heap may be added to the pool of heaps from which an allocation may be made. The additional heaps are of a constant, relatively large, size thereby reducing the risk of virtual memory fragmentation.
TL;DR: In this article, the authors describe a heap construction that supports insert and delete operations in arbitrary (possibly illegitimate) states, where the response from each operation is consistent with its effect on the data structure, even for illegitimate states.
TL;DR: In this paper, the authors present a heap memory management system in which software streams remove and replace blocks of heap memory from the heap pile, managed in a linked list fashion, in a last-in/first-out fashion at the top of the list.
Abstract: The specification discloses a heap memory management system in which software streams remove and replace blocks of heap memory from the heap pile, managed in a linked list fashion, in a last-in/first-out fashion at the top of the list. A hardware device returns blocks of heap memory, and this return is to the end or bottom of the linked list. In this way, software streams may remove and return blocks of heap memory simultaneously with hardware devices returning blocks of heap memory.
TL;DR: A tight relation between the leading constants in the sizes of selection networks and heap construction networks is given, implying that the networks presented are within a constants of optimal.