Topic: aliasing
Topic: dangling pointers
Topic: recursive data structures
Topic: safe use of pointers
| |
Summary
Reduce problems caused by pointers and dangling references by performing rotations on pointer structures. This preserves the number of pointers in a record and its connectedness. A safe rotation can not lose records. (cbb 1/90)
Subtopic: pointer rotation
Quote: pointer rotation preserves the number of pointers to a record; reference counts are preserved [»suzuN_1980]
| Quote: pointer rotation is invariant to rotating its arguments [»suzuN_1980]
| Quote: in pointer rotation, a record is lost if it is no longer reachable from the arguments; a rotation is safe if it can't lose records [»suzuN_1980]
| Subtopic: preserves reference counts
Quote: straight-line code that preserves reference counts and does not create records is implemented by a pointer rotation [»suzuN_1980]
| Quote: linear lists and trees have reference counts of one; pointer rotation preserves this; prevents circularity or shared cells [»suzuN_1980]
| Quote: if a computation preserves reference counts and number of reachable records, then is implemented solely by pointer rotations [»suzuN_1980]
| Quote: there are only two distinct classes of 3-way rotations [»suzuN_1980]
| Subtopic: pointer slide
Quote: pointer slide is like an n-bit shift; can use for pointer assignment [»suzuN_1980]
| Subtopic: swap
Quote: a language should replace copying with swapping, and disallow pointers at the client level [»harmDE5_1991]
| Subtopic: examples
Quote: example of freeing a record explicitly with pointer rotation [»suzuN_1980]
| Quote: example of moving a record from list to another using pointer rotation [»suzuN_1980]
|
Related Topics
Topic: aliasing (28 items)
Topic: dangling pointers (13 items)
Topic: recursive data structures (18 items)
Topic: safe use of pointers (102 items)
|