<feed xmlns='http://www.w3.org/2005/Atom'>
<title>aplwc/src/lib/memory.c, branch memory-manager</title>
<subtitle>Mirror of fossil repo at aplwc.org</subtitle>
<link rel='alternate' type='text/html' href='http://git.pmikkelsen.com/aplwc/'/>
<entry>
<title>Put all the code which visits pointers in memory.c behind a macro, so it can easily be reused.</title>
<updated>2026-09-01T21:14:43+00:00</updated>
<author>
<name>peter</name>
<email>peter@pmikkelsen.com</email>
</author>
<published>2026-09-01T21:14:43+00:00</published>
<link rel='alternate' type='text/html' href='http://git.pmikkelsen.com/aplwc/commit/?id=047b642464442b290ea04f5d07bb3ce57a59fdb8'/>
<id>047b642464442b290ea04f5d07bb3ce57a59fdb8</id>
<content type='text'>
FossilOrigin-Name: 1e911fa0ea41797f445fff6f25df36b6c0f07063b5c6e9936cb243294a2d8a0c</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
FossilOrigin-Name: 1e911fa0ea41797f445fff6f25df36b6c0f07063b5c6e9936cb243294a2d8a0c</pre>
</div>
</content>
</entry>
<entry>
<title>Implement "compaction", which moves all non-free chunks towards the beginning of the allocated space, and combines all the free space at the end.</title>
<updated>2026-09-01T20:45:23+00:00</updated>
<author>
<name>peter</name>
<email>peter@pmikkelsen.com</email>
</author>
<published>2026-09-01T20:45:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.pmikkelsen.com/aplwc/commit/?id=26c3da82eb6f33cce64d218e97e2d44324fb9721'/>
<id>26c3da82eb6f33cce64d218e97e2d44324fb9721</id>
<content type='text'>
FossilOrigin-Name: c757f65164e1aebf38bc3e9ea8abe4b9f98b183cec7cfbeed0175f65c72f7ca5</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
FossilOrigin-Name: c757f65164e1aebf38bc3e9ea8abe4b9f98b183cec7cfbeed0175f65c72f7ca5</pre>
</div>
</content>
</entry>
<entry>
<title>First step at garbage collection</title>
<updated>2026-09-01T19:10:55+00:00</updated>
<author>
<name>peter</name>
<email>peter@pmikkelsen.com</email>
</author>
<published>2026-09-01T19:10:55+00:00</published>
<link rel='alternate' type='text/html' href='http://git.pmikkelsen.com/aplwc/commit/?id=8abe20b980db3a90d3dea0a29741074872325d35'/>
<id>8abe20b980db3a90d3dea0a29741074872325d35</id>
<content type='text'>
We now visit all objects and change the tag of those which are unreachable, to CHUNK_TAG_FREE.
Next step will be to implement compaction to combine all free chunks at the end of the memory
space.

FossilOrigin-Name: f8641c857b5d430f45d7c1f36fb00866659a5ea78f36ee0535c9166060ea0e19</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We now visit all objects and change the tag of those which are unreachable, to CHUNK_TAG_FREE.
Next step will be to implement compaction to combine all free chunks at the end of the memory
space.

FossilOrigin-Name: f8641c857b5d430f45d7c1f36fb00866659a5ea78f36ee0535c9166060ea0e19</pre>
</div>
</content>
</entry>
<entry>
<title>Fix problems in release builds</title>
<updated>2026-08-31T20:04:50+00:00</updated>
<author>
<name>peter</name>
<email>peter@pmikkelsen.com</email>
</author>
<published>2026-08-31T20:04:50+00:00</published>
<link rel='alternate' type='text/html' href='http://git.pmikkelsen.com/aplwc/commit/?id=0091c055edceca2598dfb7dd64cdcb081e4c7507'/>
<id>0091c055edceca2598dfb7dd64cdcb081e4c7507</id>
<content type='text'>
FossilOrigin-Name: 98227d25674f373968f51df0dcdccf3cf14d646a13e56a9229103d1aeb3ad73d</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
FossilOrigin-Name: 98227d25674f373968f51df0dcdccf3cf14d646a13e56a9229103d1aeb3ad73d</pre>
</div>
</content>
</entry>
<entry>
<title>The objects returned to the user are now integer-based references,</title>
<updated>2026-08-31T19:44:56+00:00</updated>
<author>
<name>peter</name>
<email>peter@pmikkelsen.com</email>
</author>
<published>2026-08-31T19:44:56+00:00</published>
<link rel='alternate' type='text/html' href='http://git.pmikkelsen.com/aplwc/commit/?id=7f7a2fb4fb23433e7be3d6953725690c8ea958d2'/>
<id>7f7a2fb4fb23433e7be3d6953725690c8ea958d2</id>
<content type='text'>
not actual pointers. This means the aplwc internals can update those
pointers without the user noticing.

FossilOrigin-Name: 654c7d0ec85da295a7fb6ed381500410686b280f342fa81a30481f5e9a20c58a</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
not actual pointers. This means the aplwc internals can update those
pointers without the user noticing.

FossilOrigin-Name: 654c7d0ec85da295a7fb6ed381500410686b280f342fa81a30481f5e9a20c58a</pre>
</div>
</content>
</entry>
<entry>
<title>Still a lot to be done, but I'm going to bed.</title>
<updated>2026-08-30T20:52:43+00:00</updated>
<author>
<name>peter</name>
<email>peter@pmikkelsen.com</email>
</author>
<published>2026-08-30T20:52:43+00:00</published>
<link rel='alternate' type='text/html' href='http://git.pmikkelsen.com/aplwc/commit/?id=729964bea692f9683860978b89848784a7fc2f46'/>
<id>729964bea692f9683860978b89848784a7fc2f46</id>
<content type='text'>
Two remaining big issues:
* aplwc (the parameter passed "everywhere") - should it move or not?
* values returned from the public API should not move.

FossilOrigin-Name: 31ab3154b8f3d5ac167218496e9e204324bf0ac9d36b7bada8fe2a6c8f93d51c</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Two remaining big issues:
* aplwc (the parameter passed "everywhere") - should it move or not?
* values returned from the public API should not move.

FossilOrigin-Name: 31ab3154b8f3d5ac167218496e9e204324bf0ac9d36b7bada8fe2a6c8f93d51c</pre>
</div>
</content>
</entry>
<entry>
<title>Remove a lot of functions for manually freeing memory (they were not implemented)</title>
<updated>2026-08-30T14:46:38+00:00</updated>
<author>
<name>peter</name>
<email>peter@pmikkelsen.com</email>
</author>
<published>2026-08-30T14:46:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.pmikkelsen.com/aplwc/commit/?id=04827577ea502a9f0edc69e00e008751c8119cbc'/>
<id>04827577ea502a9f0edc69e00e008751c8119cbc</id>
<content type='text'>
FossilOrigin-Name: 693765728e62a74a0ab15d657f7d1dd83702a9371fb042dafe6250f84a252959</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
FossilOrigin-Name: 693765728e62a74a0ab15d657f7d1dd83702a9371fb042dafe6250f84a252959</pre>
</div>
</content>
</entry>
<entry>
<title>Let the memory allocation code set the last_error to APLWC_OUT_OF_MEMORY, instead of the callers</title>
<updated>2026-08-30T14:25:56+00:00</updated>
<author>
<name>peter</name>
<email>peter@pmikkelsen.com</email>
</author>
<published>2026-08-30T14:25:56+00:00</published>
<link rel='alternate' type='text/html' href='http://git.pmikkelsen.com/aplwc/commit/?id=2261ffa04ddf30a7c8eae6e64129b293fc8bffd9'/>
<id>2261ffa04ddf30a7c8eae6e64129b293fc8bffd9</id>
<content type='text'>
FossilOrigin-Name: 46c74e207a84e861636dbfebc4ba8bb9e7b17401dfd2c4fb9bdeae0fa98fd530</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
FossilOrigin-Name: 46c74e207a84e861636dbfebc4ba8bb9e7b17401dfd2c4fb9bdeae0fa98fd530</pre>
</div>
</content>
</entry>
<entry>
<title>Remove the struct memory struct</title>
<updated>2026-08-30T14:20:55+00:00</updated>
<author>
<name>peter</name>
<email>peter@pmikkelsen.com</email>
</author>
<published>2026-08-30T14:20:55+00:00</published>
<link rel='alternate' type='text/html' href='http://git.pmikkelsen.com/aplwc/commit/?id=8521b6a69deab8cdabe1c87b09ecdc93d75af98e'/>
<id>8521b6a69deab8cdabe1c87b09ecdc93d75af98e</id>
<content type='text'>
FossilOrigin-Name: 38568a34f631b2a4eef72542e2988a9fe081f85d3248194c2ff995a9eed6bd5d</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
FossilOrigin-Name: 38568a34f631b2a4eef72542e2988a9fe081f85d3248194c2ff995a9eed6bd5d</pre>
</div>
</content>
</entry>
<entry>
<title>Commit unsaved work.</title>
<updated>2026-08-29T15:22:21+00:00</updated>
<author>
<name>peter</name>
<email>peter@pmikkelsen.com</email>
</author>
<published>2026-08-29T15:22:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.pmikkelsen.com/aplwc/commit/?id=a01b62d7ace95aef73b9f2d33f01486e0856233f'/>
<id>a01b62d7ace95aef73b9f2d33f01486e0856233f</id>
<content type='text'>
FossilOrigin-Name: 46adf8e389516e01f11696af5cf48d7dbee8764a480e20957a251538ace8cf3a</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
FossilOrigin-Name: 46adf8e389516e01f11696af5cf48d7dbee8764a480e20957a251538ace8cf3a</pre>
</div>
</content>
</entry>
</feed>
