| Title | External interface contains useless "fixed" object format |
| Status | closed |
| Priority | nice |
| Assigned user | Gareth Rees |
| Organization | Ravenbrook |
| Description | The external interface to the MPS [1] declares the structure "mps_fmt_fixed_s" which is just like "mps_fmt_A_s" except for the lack of a skip method. The only place this structure is used is as an argument to mps_fmt_create_fixed. It seems that this is an object format suitable for pools containing formatted objects of fixed size. (Such a pool would not need to call the skip method to work out the size of each object.) However, there are no such pools, so this object format cannot be used. |
| Analysis | Two possibilities: 1. Remove mps_fmt_fixed_s and mps_fmt_create_fixed from the external interface. 2. Write an automatic fixed size pool class that could use it. GDR 2013-05-27: I documented and deprecated them. |
| How found | inspection |
| Evidence | [1] <https://info.ravenbrook.com/project/mps/master/code/mps.h> |
| Observed in | 1.110.0 |
| Created by | Gareth Rees |
| Created on | 2012-10-18 16:33:19 |
| Last modified by | Gareth Rees |
| Last modified on | 2013-05-28 16:15:25 |
| History | 2012-10-18 GDR Created. |
| Change | Effect | Date | User | Description |
|---|---|---|---|---|
| 182277 | closed | 2013-05-28 16:10:08 | Gareth Rees | New public function mps_fmt_create_k creates an object format using the keyword argument interface. Deprecate the format variant structures (mps_fmt_A_s, mps_fmt_B_s, mps_fmt_auto_header_s, mps_fmt_fixed_s) and the old interface (mps_fmt_create_A, mps_fmt_create_B, mps_fmt_create_auto_header, mps_fmt_create_fixed). |