summaryrefslogtreecommitdiff
path: root/src/lib/memory.c
AgeCommit message (Collapse)Author
2026-09-01Implement "compaction", which moves all non-free chunks towards the ↵peter
beginning of the allocated space, and combines all the free space at the end. FossilOrigin-Name: c757f65164e1aebf38bc3e9ea8abe4b9f98b183cec7cfbeed0175f65c72f7ca5
2026-09-01First step at garbage collectionpeter
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
2026-08-31Fix problems in release buildspeter
FossilOrigin-Name: 98227d25674f373968f51df0dcdccf3cf14d646a13e56a9229103d1aeb3ad73d
2026-08-31The objects returned to the user are now integer-based references,peter
not actual pointers. This means the aplwc internals can update those pointers without the user noticing. FossilOrigin-Name: 654c7d0ec85da295a7fb6ed381500410686b280f342fa81a30481f5e9a20c58a
2026-08-30Still a lot to be done, but I'm going to bed.peter
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
2026-08-30Remove a lot of functions for manually freeing memory (they were not ↵peter
implemented) FossilOrigin-Name: 693765728e62a74a0ab15d657f7d1dd83702a9371fb042dafe6250f84a252959
2026-08-30Let the memory allocation code set the last_error to APLWC_OUT_OF_MEMORY, ↵peter
instead of the callers FossilOrigin-Name: 46c74e207a84e861636dbfebc4ba8bb9e7b17401dfd2c4fb9bdeae0fa98fd530
2026-08-30Remove the struct memory structpeter
FossilOrigin-Name: 38568a34f631b2a4eef72542e2988a9fe081f85d3248194c2ff995a9eed6bd5d
2026-08-29Commit unsaved work.peter
FossilOrigin-Name: 46adf8e389516e01f11696af5cf48d7dbee8764a480e20957a251538ace8cf3a
2026-08-21Start work on testing the evaluatorpeter
FossilOrigin-Name: 530cc9567bc825fd8a7eb21f2ca12dbf7ecbecae3ed02638537dc4a8dca9ae1a
2026-08-21More work on the scanner and tests for itpeter
FossilOrigin-Name: 037c88ce86e1ba3a399c03a27d4c7252b52c2f500bc13f449e19e497b0607880
2026-08-21Start working on the scanner.peter
For now, all that is implemented is some functionality which imports UTF-8 into the memory managed by aplwc, after checking that the data is in fact valid UTF-8. FossilOrigin-Name: c861e88777d8180cb7b37c11fc7016a900f9d5821a7e3c8e8aab54118d2fca94
2026-08-20Move aplwc-repl into its own directory, and likewise for the aplwc librarypeter
FossilOrigin-Name: 7e6b710fae494fadfe06bed16ae10bdda0f377067cb9411ed2b8bfc682d2fcbc