Commit graph

117 commits

Author SHA1 Message Date
211bc93c85 xo-gc stack: fix mutation setup + xo-reader2 utest 2026-05-07 23:44:32 -04:00
05a6aa9425 tidy: drop stale ACollector comments 2026-05-02 13:58:22 -04:00
cff5963b31 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
96ebc02d4a xo-object2: streamline write barriers for DList,DArray muts 2026-05-01 20:38:38 -04:00
3f7bc2e8e0 xo-object2: prep DList for write barrier in _assign_rest() 2026-05-01 20:15:45 -04:00
6c8da340c8 xo-object2 stack: RAllocator.assign_barrier() works.
use for DList::assign_head(), DArray::assign_at().
2026-05-01 20:14:26 -04:00
024574350a 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
d24f851eb5 xo-object2: obj<ACollector> argument to DArray::push_back() 2026-04-28 23:17:00 -04:00
912ae40550 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
7f3c7671b4 xo-object2: DArray: + DArray.pop_back + no ub on oom 2026-04-10 20:31:26 -04:00
aea622a1c2 xo-object2: DDictionary: fail without ub on oom. 2026-04-10 20:31:05 -04:00
1ae18830a7 xo-object2: DInteger: fail without ub on oom. 2026-04-10 20:30:46 -04:00
4fdaa64085 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
21ce28ee82 refactor: use GCObjectVisitor api w/ gco_shallow_move 2026-04-06 15:21:48 -04:00
39ae54167f refactor: + narrower interface for gc pointer forwarding
add AGCObjectVisitor, instead of requiring ACollector.
2026-04-05 23:53:02 -04:00
5676a69dd3 refactor: retire GCObject.shallow_copy()
Collector gets this info from gc-owned object header
2026-04-04 18:01:25 -04:00
210f568f7b refactor: retire GCObject.shallow_size()
Not needed.  Rely on size stored in gc-owned object header
2026-04-04 17:30:03 -04:00
d4e951fded refactor: void return type for Collector.forward_children() 2026-04-04 16:54:46 -04:00
0ec1008fa3 refactor: rename RCollector.std_copy_for -> std_move_for 2026-04-04 16:37:17 -04:00
8ac5ba9bbb refactor: rename shallow_copy -> shallow_move + streamline
Use RCollector.std_copy_for where appropriate
2026-04-04 16:33:35 -04:00
0cb20c3789 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
24f857588c refactor: make AGCObject.shallow_copy() non-const
prep for moving to ACollector interface
2026-04-04 14:38:14 -04:00
28cd1523fa xo-gc stack: + gc-report-object-types() primitive 2026-03-29 17:19:23 -04:00
1cbae893b9 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
375f8c1ec4 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
faafd5c1fa xo-object2: drop DArray debug 2026-03-27 22:40:19 -04:00
0b405cd017 xo-interpreter2 stack: VSM as AGCObject for virtual root 2026-03-25 19:31:59 -04:00
27564ec4a7 xo-procedure2: + assign_head + set-car pm impl [WIP]
Not actuall installed in global env
2026-03-24 22:17:41 -04:00
78145b1105 xo-object2: nit: dictionary printing 2026-03-17 21:03:39 -04:00
441044dd01 xo-object2: streamline setup 2026-03-16 14:57:23 -05:00
bd811111a1 x-procedure2: + dict_lookup() primitive 2026-03-16 00:57:17 -05:00
87f08a4e4d xo-interpreter2: + nil + cons 2026-03-11 16:19:40 -05:00
2b528f4159 nix-build: + xo.procedure2 2026-03-05 20:25:32 +11:00
e2b239dfb9 xo-object2 stack: refactor/tidy after GCObject -> alloc2 2026-03-05 20:11:05 +11:00
00a22e81c0 refactor: + xo-stringtable2 w/ DString impl 2026-03-05 00:50:58 +11:00
c8a76d23bd xo-gc xo-alloc2: move Collector faceet gc/ -> alloc2/ for levelling 2026-03-04 22:26:31 +11:00
6347fb6d72 xo-object2: cosmetic: ordering nit 2026-03-04 14:05:31 +11:00
7871c7dbea xo-interpreter2 stack: + dict.make() + Dictionary impl 2026-03-03 16:45:54 +11:00
c05b301742 xo-interpreter2 stack: + literal array parsing 2026-03-03 12:12:09 +11:00
5f3000693e xo-interpreter2 stack: parse literal lists (w/ implicit types) 2026-03-02 23:21:10 +11:00
6198293816 Merge branch 'main' into claude1 2026-02-27 22:07:46 +11:00
cbc6570e40 nix-build: + xo-object2 builds 2026-02-27 13:04:46 +11:00
039cd657a8 xo-interpreter2 stack: streamline op== impl + utests 2026-02-19 09:03:02 -08:00
b64dee41cb xo-interpreter2 stack: define-expr's work at top-level 2026-02-17 14:42:17 -05:00
65526649cc xo-interpreter2 stack: OUTPUT_CPP_DIR cmake->idl/ 2026-02-16 17:46:51 -05:00
22502a7875 xo-alloc2: register DArena facet + subsystem init 2026-02-16 09:31:49 -05:00
1e715cb94c xo-object2: streamline DList gc hooks 2026-02-15 13:16:42 -05:00
3e53b0d10a xo-expression2 stack: + mvp DGlobalSymtab impl 2026-02-14 13:06:54 -05:00
4c1c746763 xo-interpreter2 stack: apply user-defined lambda passes utest 2026-02-13 16:06:19 -05:00
6a85e7e0ed xo-object2: DList: streamline forward_children() 2026-02-13 15:15:39 -05:00