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

Full description

Saved in:
Bibliographic Details
Published in:Information processing letters 1987-07, Vol.25 (5), p.305-310
Main Authors: Nawrocki, Jerzy R., Martinek, J.
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!
Description
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