Edward Amsden
820b1ac57a
main: add stop_for_debug feature to stop Ares when it starts for a debugger to attach
2023-12-15 12:27:17 -06:00
Edward Amsden
f092c482ee
pma: format
2023-12-15 11:17:08 -06:00
Edward Amsden
dd814b3e1f
pma: add crate feature to control debugging printfs
2023-12-15 11:16:38 -06:00
Edward Amsden
3acf8e74c1
serf: ensure locals are preserved and top frame flipped after PMA save
2023-12-15 10:00:38 -06:00
barter-simsum
02b1ae3dd2
pma: btest.c changes
2023-12-15 06:36:53 -05:00
barter-simsum
66aaa255f7
pma: fix freelist node size calculation in _mlist_insert
2023-12-15 06:36:30 -05:00
barter-simsum
031e583c3c
pma: fix DPRINTF in bt_malloc
2023-12-15 05:38:35 -05:00
barter-simsum
965865da13
pma: mmap freespace ahead of first node partition
2023-12-15 03:24:42 -05:00
barter-simsum
40a04ec8ab
pma: _bt_printnode print to stderr
2023-12-15 01:19:28 -05:00
Edward Amsden
a37cf3e779
pma: when persisting hamt check if buffer already in PMA
2023-12-15 00:15:40 -06:00
barter-simsum
ff204263ff
pma: misc fixes
...
- primarily fixes a bug in _mlist_insert and _pending_flist_insert
- also updates some tests
- disables node data printing on _bt_insertdat with DEBUG_PRINTNODE macro
2023-12-15 00:50:26 -05:00
Edward Amsden
bdccac7ff2
pma: fixup of global static PMA
2023-12-14 22:17:25 -06:00
Edward Amsden
8fb0953247
pma: dirty in unifying equality
...
This changes the PMA to be a static global instead of a threaded-through handle.
We use a OnceLock to enforce one-time-only opening of the PMA. There is
no public PMA type any more, just a collection of module-level methods
which act through the global reference.
This is consistent with the assumptions of the underlying C code, that
there will be only one PMA open in a process, and avoids the need to
thread the PMA to unifying equality calls.
2023-12-14 21:42:31 -06:00
Edward Amsden
caeea6ec2d
unifying equality: move to own module
2023-12-14 18:08:55 -06:00
barter-simsum
a509c2fabe
pma: even more msync/mprotect changes
2023-12-14 16:40:42 -05:00
barter-simsum
a8b3619e9f
pma: more msync/mprotect abort
2023-12-14 16:35:33 -05:00
Edward Amsden
fa30180b68
pma: noun and hamt persist fixes
2023-12-14 15:31:06 -06:00
barter-simsum
92c1a23b7d
pma: abort on failed msync/mprotect
2023-12-14 16:30:29 -05:00
Edward Amsden
adfc9ddb10
pma: fix assert in save_to_pma
2023-12-14 14:28:27 -06:00
Edward Amsden
bfdb1b9eb7
pma: fix and simplify copy_to_buffer for Noun
2023-12-14 00:56:39 -06:00
Edward Amsden
5598442304
pma: fix save_to_pma buffer size assertions
2023-12-14 00:45:09 -06:00
Edward Amsden
59180a704b
Merge branch 'revert-177-revert-175-eamsden/gc-top-frame' into eamsden/integrate-pma-tmp-fix-gc
2023-12-13 22:39:11 -06:00
barter-simsum
92bb42683d
pma: fix c test3
2023-12-13 21:36:34 -05:00
Edward Amsden
be4a6552e1
Merge remote-tracking branch 'origin/status' into revert-177-revert-175-eamsden/gc-top-frame
2023-12-13 20:33:33 -06:00
barter-simsum
20693a32ce
pma: tests
2023-12-13 21:32:45 -05:00
Edward Amsden
05b0609b5b
2stackz: comment explaining null checks in is_in_frame
2023-12-13 20:32:01 -06:00
Edward Amsden
f8615b5a4e
2stackz: lint
2023-12-13 19:53:33 -06:00
Edward Amsden
a98524bfd7
2stackz: format
2023-12-13 19:48:34 -06:00
Edward Amsden
046c435fa7
2stackz: fix is_in_frame check for top frame
2023-12-13 19:46:59 -06:00
Edward Amsden
b841fe2f63
hot: fix preserve instance
2023-12-13 19:46:39 -06:00
Alex Shelkovnykov
3d98ab2684
Merge pull request #179 from urbit/as/comments
...
docs: add comments explaining invariants / algorithms
2023-12-13 18:42:03 -06:00
Alex Shelkovnykov
51e8986327
docs: cargo fmt
2023-12-13 21:19:40 -03:00
barter-simsum
3786277230
pma: remove mkdir call from bt_state_open
2023-12-13 18:25:35 -05:00
Alex Shelkovnykov
235d8c54f1
docs: add comments explaining invariants / algorithms
2023-12-13 12:11:56 -03:00
barter-simsum
c4b1888020
pma: update mprotect calls to use BT_PROT_* macros
2023-12-13 07:52:36 -05:00
barter-simsum
e630016584
pma: mmap changes appear to be working
2023-12-13 07:45:44 -05:00
barter-simsum
88fdfe0755
pma: misc bug fixes
...
currently debugging an "invalid argument" error in the mmap call in bt_free
2023-12-13 07:17:05 -05:00
barter-simsum
7dfc32681a
pma: more mmap changes. WIP
2023-12-12 22:34:26 -05:00
Matthew LeVan
38c1b3cef3
Revert "Revert "2stackz: gc top frame by flipping polarity""
2023-12-12 21:04:10 -05:00
Alex Shelkovnykov
da7c0b016c
Merge pull request #177 from urbit/revert-175-eamsden/gc-top-frame
...
Revert "2stackz: gc top frame by flipping polarity"
2023-12-12 20:03:16 -06:00
Matthew LeVan
5bfc83673c
Revert "2stackz: gc top frame by flipping polarity"
2023-12-12 20:48:55 -05:00
barter-simsum
13b5f6bee6
pma: set protection of leaf data when syncing
2023-12-12 20:34:12 -05:00
barter-simsum
e96d7ecb4c
pma: mmap and mprotect revisions wip
2023-12-12 18:23:37 -05:00
Alex Shelkovnykov
a366d63773
Merge pull request #175 from urbit/eamsden/gc-top-frame
...
2stackz: gc top frame by flipping polarity
2023-12-12 07:58:29 -06:00
Edward Amsden
9271deb3d6
pma: set -DDEBUG for default profile
2023-12-11 23:16:32 -06:00
Edward Amsden
94d92e4a3e
pma: add a missing ftruncate and mmap call, and lots of notes
2023-12-11 23:15:53 -06:00
Edward Amsden
bbaa758c95
hamt: fix persist instance
2023-12-11 23:15:18 -06:00
Edward Amsden
548dc3f3c4
hamt: when preserving, actually write outermost stem pointer back to mutable self
2023-12-11 19:06:57 -06:00
Edward Amsden
ede9918c03
pma: some quick fixes
2023-12-11 18:34:06 -06:00
Edward Amsden
fd1af932c6
2stackz: fix wrong-end previous allocation pointer in flip_top_frame()
2023-12-11 15:56:05 -06:00