Commit graph

118 commits

Author SHA1 Message Date
ff0d256e97 xo-gc: address some coverage loose ends 2026-05-13 08:14:58 -04:00
b64940fa0a xo-gc stack: fix mutation setup + xo-reader2 utest 2026-05-07 23:44:32 -04:00
200a027103 tidy: drop stale ACollector comments 2026-05-02 13:58:22 -04:00
3625758272 xo-gc stack: refactor + streamline.
Retiring unused Collector typealiases.
Fix #include topology.
Fix/improve write barrier setup.
2026-05-02 13:49:29 -04:00
4ab49af785 xo-object2: streamline write barriers for DList,DArray muts 2026-05-01 20:38:38 -04:00
0defad229f xo-object2: prep DList for write barrier in _assign_rest() 2026-05-01 20:15:45 -04:00
29c60f0089 xo-object2 stack: RAllocator.assign_barrier() works.
use for DList::assign_head(), DArray::assign_at().
2026-05-01 20:14:26 -04:00
f7ab6beff0 refactor focusing on xo-alloc2/ xo-gc/ write-barrier
ability to inform allocator of gco->gco mutation, via AAllocator i/face.
2026-05-01 19:54:26 -04:00
f79e44a2b9 xo-object2: obj<ACollector> argument to DArray::push_back() 2026-04-28 23:17:00 -04:00
d0cb7437de xo-gc: bugfixes for GCObjectStore, unit test exapnded
In particular: drop casual assignment to DList.rest_,
will break acyclic assumption of DList.size()
2026-04-11 16:51:52 -04:00
26379aad1c xo-object2: DArray: + DArray.pop_back + no ub on oom 2026-04-10 20:31:26 -04:00
585173a4ba xo-object2: DDictionary: fail without ub on oom. 2026-04-10 20:31:05 -04:00
680e79119b xo-object2: DInteger: fail without ub on oom. 2026-04-10 20:30:46 -04:00
ec639ebb4b xo-interpreter2 stack: + reason arg to visit_gco_children()
Helps streamline DX1Collector in xo-gc/.
Want both forward and verify entry points for the same
representation.
2026-04-10 01:10:03 -04:00
e95353f1c8 refactor: use GCObjectVisitor api w/ gco_shallow_move 2026-04-06 15:21:48 -04:00
801bb9e39d refactor: + narrower interface for gc pointer forwarding
add AGCObjectVisitor, instead of requiring ACollector.
2026-04-05 23:53:02 -04:00
e6c789b4e6 refactor: retire GCObject.shallow_copy()
Collector gets this info from gc-owned object header
2026-04-04 18:01:25 -04:00
30dee1b97f refactor: retire GCObject.shallow_size()
Not needed.  Rely on size stored in gc-owned object header
2026-04-04 17:30:03 -04:00
5eb7abf5f2 refactor: void return type for Collector.forward_children() 2026-04-04 16:54:46 -04:00
5172de7862 refactor: rename RCollector.std_copy_for -> std_move_for 2026-04-04 16:37:17 -04:00
8bb460f402 refactor: rename shallow_copy -> shallow_move + streamline
Use RCollector.std_copy_for where appropriate
2026-04-04 16:33:35 -04:00
06161d2b50 refactor: rename GCObject.shallow_copy -> shallow_move
resolve conflict since relying on move constructor in std_copy_for
2026-04-04 15:00:53 -04:00
e41d69be23 refactor: make AGCObject.shallow_copy() non-const
prep for moving to ACollector interface
2026-04-04 14:38:14 -04:00
057f0acc72 xo-gc stack: + gc-report-object-types() primitive 2026-03-29 17:19:23 -04:00
70e6d3a5bc xo-gc: use DArenaVector for DX1Collector.object_types_
Original implementation predated DArenaVector,
using it is more natural
2026-03-29 15:17:31 -04:00
1dd3a6543f xo-gc stack: + request-gc-statistics() primitive
1. xo-gc now depends on xo-object2.
2. use genfacet for ICollector_DX1Collector
3. moves xo-gc utest previously in xo-object2 to more natural
   location in xo-gc/
2026-03-29 13:44:19 -04:00
c63edc9d84 xo-object2: drop DArray debug 2026-03-27 22:40:19 -04:00
45f6bccd9c xo-interpreter2 stack: VSM as AGCObject for virtual root 2026-03-25 19:31:59 -04:00
2186b62a97 xo-procedure2: + assign_head + set-car pm impl [WIP]
Not actuall installed in global env
2026-03-24 22:17:41 -04:00
92983523b5 xo-object2: nit: dictionary printing 2026-03-17 21:03:39 -04:00
d464ea3f5b xo-object2: streamline setup 2026-03-16 14:57:23 -05:00
a0f178c90a x-procedure2: + dict_lookup() primitive 2026-03-16 00:57:17 -05:00
2e1ae9bca3 xo-interpreter2: + nil + cons 2026-03-11 16:19:40 -05:00
0d0a62943d nix-build: + xo.procedure2 2026-03-05 20:25:32 +11:00
9b9262f84b xo-object2 stack: refactor/tidy after GCObject -> alloc2 2026-03-05 20:11:05 +11:00
dc530ea9d8 refactor: + xo-stringtable2 w/ DString impl 2026-03-05 00:50:58 +11:00
b1add3bbff xo-gc xo-alloc2: move Collector faceet gc/ -> alloc2/ for levelling 2026-03-04 22:26:31 +11:00
8e46c8a849 xo-object2: cosmetic: ordering nit 2026-03-04 14:05:31 +11:00
0c01058154 xo-interpreter2 stack: + dict.make() + Dictionary impl 2026-03-03 16:45:54 +11:00
d989287976 xo-interpreter2 stack: + literal array parsing 2026-03-03 12:12:09 +11:00
957b0c5b21 xo-interpreter2 stack: parse literal lists (w/ implicit types) 2026-03-02 23:21:10 +11:00
10a3421ed4 Merge branch 'main' into claude1 2026-02-27 22:07:46 +11:00
6dd635599c nix-build: + xo-object2 builds 2026-02-27 13:04:46 +11:00
788363dd4c xo-interpreter2 stack: streamline op== impl + utests 2026-02-19 09:03:02 -08:00
6f3833d6fb xo-interpreter2 stack: define-expr's work at top-level 2026-02-17 14:42:17 -05:00
28348e46ec xo-interpreter2 stack: OUTPUT_CPP_DIR cmake->idl/ 2026-02-16 17:46:51 -05:00
e87073f914 xo-alloc2: register DArena facet + subsystem init 2026-02-16 09:31:49 -05:00
5560f84dee xo-object2: streamline DList gc hooks 2026-02-15 13:16:42 -05:00
0ad4182325 xo-expression2 stack: + mvp DGlobalSymtab impl 2026-02-14 13:06:54 -05:00
20cee5db7d xo-interpreter2 stack: apply user-defined lambda passes utest 2026-02-13 16:06:19 -05:00