| Line 1596... |
Line 1596... |
| 1596 |
and reduces indirection when freeing and consolidating chunks.
|
1596 |
and reduces indirection when freeing and consolidating chunks.
|
| 1597 |
|
1597 |
|
| 1598 |
Each freshly allocated chunk must have both cinuse and pinuse set.
|
1598 |
Each freshly allocated chunk must have both cinuse and pinuse set.
|
| 1599 |
That is, each allocated chunk borders either a previously allocated
|
1599 |
That is, each allocated chunk borders either a previously allocated
|
| 1600 |
and still in-use chunk, or the base of its memory arena. This is
|
1600 |
and still in-use chunk, or the base of its memory arena. This is
|
| 1601 |
ensured by making all allocations from the the `lowest' part of any
|
1601 |
ensured by making all allocations from the `lowest' part of any
|
| 1602 |
found chunk. Further, no free chunk physically borders another one,
|
1602 |
found chunk. Further, no free chunk physically borders another one,
|
| 1603 |
so each free chunk is known to be preceded and followed by either
|
1603 |
so each free chunk is known to be preceded and followed by either
|
| 1604 |
inuse chunks or the ends of memory.
|
1604 |
inuse chunks or the ends of memory.
|
| 1605 |
|
1605 |
|
| 1606 |
Note that the `foot' of the current chunk is actually represented
|
1606 |
Note that the `foot' of the current chunk is actually represented
|