Title | The reservoir pool is entirely bogus |
Status | closed |
Priority | optional |
Assigned user | Richard Brooksby |
Organization | Ravenbrook |
Description | 1. The reservoir pool only holds single arena grains. It can't even return memory large enough for a default AMC segment (job003869). 2. ReservoirWithdraw will return a single tract whatever size it's asked for. This will likely cause ArenaAlloc to crash. 3. It's horribly ugly. 4. It isn't documented (job003327). 5. The only user is in an obscure corner of Open Dylan [1]. 6. The MPS has a general policy for dealing with low memory situations, which doesn't involve the reservoir (job003954). |
Analysis | Change the reservoir size setting interface to do nothing. Redirect reservoir allocations to normal allocations. Remove the implementation and all its overheads. If a reservoir is ever actually required, implement it in terms of spare committed memory. |
How found | unknown |
Evidence | The code. grep -IR -e mps_reservoir opendylan [1] https://github.com/dylan-lang/opendyla...urces/lib/run-time/mps-collector.c#L228 |
Introduced in | 1.100.1 |
Created by | Richard Brooksby |
Created on | 2016-03-13 20:14:17 |
Last modified by | Richard Brooksby |
Last modified on | 2016-03-15 13:22:47 |
History | 2016-03-18 RB Created. |
Change | Effect | Date | User | Description |
---|---|---|---|---|
190106 | closed | 2016-03-15 13:19:27 | Richard Brooksby | Merging branch mps/branch/2016-03-13/without-reservation into master sources. |