scispace - formally typeset
Search or ask a question

Showing papers on "Binary heap published in 2001"


Patent
13 Sep 2001
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.

55 citations


Proceedings ArticleDOI
09 Jan 2001
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.

28 citations


Journal ArticleDOI
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.

23 citations


Patent
26 Dec 2001
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.

18 citations


Patent
13 Aug 2001
TL;DR: In this article, a card table is provided which comprises multiple cards, each corresponding to a region of a virtual machine, and each card in the table is set to null when the first heap is reset between successive applications.
Abstract: A computer system provides an object-based virtual machine environment for running successive applications. The computer system includes storage, at least a portion of which is logically divided into two or more heaps in which objects can be stored. A first heap is reset between successive applications, and a second heap persists from one application to the next. A card table is provided which comprises multiple cards, each corresponding to a region of said storage. Each card in the card table is set to null when the first heap is reset between successive applications. A card is marked whenever an object in its corresponding storage region is created or updated. It is then possible to detect potential references from the second heap to the first heap at reset by scanning the cards in the card table corresponding to the second heap, and detecting any cards which have been marked. The system further identifies any objects on the first heap which have a finalization method. The finalization methods of any such identified objects are then run on the main thread prior to reset of the first heap.

14 citations


Journal ArticleDOI
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.

3 citations