Loading…
A storage allocation method with invalidating dangling references
One of the frequently used features of high-level programming languages is dynamic storage allocation and deallocation. If a storage segment is deallocated, then any loading or storing of a value to a cell of this segment is incorrect. The problem is how to manage storage segments in order to find a...
Saved in:
Published in: | Information processing letters 1987-07, Vol.25 (5), p.305-310 |
---|---|
Main Authors: | , |
Format: | Article |
Language: | English |
Subjects: | |
Citations: | Items that this one cites |
Online Access: | Get full text |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
Summary: | One of the frequently used features of high-level programming languages is dynamic storage allocation and deallocation. If a storage segment is deallocated, then any loading or storing of a value to a cell of this segment is incorrect. The problem is how to manage storage segments in order to find all such situations. Lomet (1985) examines 3 solutions: 1. pointers with scope, 2. tombstones, and 3. freezing. A method of dynamic storage allocation with invalidating dangling references is presented. It is based on the idea of tombstones and requires storage of size less than any other method of tombstone management. The proposed solution can be characterized by 3 points: 1. Jonkers' (1979) compaction algorithm is used. 2. Three types of storage blocks -- busy, free, and tombstones -- are implemented according to the modified beginning tag method. 3. A tombstone is set at the beginning of each deallocated busy block, and each tombstone address is a dangling reference. |
---|---|
ISSN: | 0020-0190 1872-6119 |
DOI: | 10.1016/0020-0190(87)90204-3 |