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