Commit Graph

731 Commits

Author SHA1 Message Date
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
Sigilante
854e4bd544
Recomment debugging printfs 2023-12-14 09:39:49 -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
Sigilante
3207660eac serf: placate linter 2023-12-13 14:33:04 -06:00
Sigilante
cd92209131 serf: placate linter 2023-12-13 14:31:34 -06:00
Sigilante
a715c961c5 serf: placate linter 2023-12-13 14:30:10 -06:00
Sigilante
b1eaf8e853 serf: placate linter 2023-12-13 14:20:38 -06:00
Sigilante
8438fe8e5d serf: removal of snapshotting 2023-12-13 14:14:59 -06: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
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
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
Edward Amsden
7e110aa6c5 2stackz: assert is_west after reset
Co-authored-by: Jonathan Paprocki <51337059+drbeefsupreme@users.noreply.github.com>
2023-12-11 15:56:05 -06:00
Edward Amsden
1ee7ce5c32 2stackz: clarify doc comment on NockStack::reset
Co-authored-by: Jonathan Paprocki <51337059+drbeefsupreme@users.noreply.github.com>
2023-12-11 15:56:05 -06:00
Edward Amsden
002aba5f5b 2stackz: fix wrong-end previous allocation pointer in flip_top_frame() 2023-12-11 14:46:05 -06:00
Edward Amsden
c40fdc1ad4
2stackz: assert is_west after reset
Co-authored-by: Jonathan Paprocki <51337059+drbeefsupreme@users.noreply.github.com>
2023-12-11 14:18:34 -06:00
Edward Amsden
859b89f85c
2stackz: clarify doc comment on NockStack::reset
Co-authored-by: Jonathan Paprocki <51337059+drbeefsupreme@users.noreply.github.com>
2023-12-11 14:16:17 -06:00
Edward Amsden
fc3be96f00 serf: no need to GC stack in event-update as it happens at end of event loop 2023-12-11 09:11:16 -06:00
Edward Amsden
f7e6cc2770 serf: format 2023-12-11 08:59:38 -06:00
Edward Amsden
e3d4f57979 pma: fully integrate top-stack GC 2023-12-11 08:59:15 -06:00
Edward Amsden
5d2e937f5c Merge branch 'eamsden/gc-top-frame' into eamsden/integrate-pma-merge-tmp 2023-12-11 08:53:30 -06:00
Edward Amsden
7d0def5178 Merge branch 'status' into eamsden/integrate-pma-merge-tmp 2023-12-11 08:52:48 -06:00
Edward Amsden
74fa5127ff 2stackz: gc top frame by flipping polarity 2023-12-10 21:33:03 -06:00
Edward Amsden
baebb515e2 hamt: doc comments and cleanup 2023-12-09 11:46:47 -06:00
Edward Amsden
95e05b2dad pma: reorganization and doc comments 2023-12-09 11:32:48 -06:00
Edward Amsden
48817bb694 hamt: remove unused struct StemTraversalEntry 2023-12-09 11:18:42 -06:00
Edward Amsden
ef5954b3b1 serf: format 2023-12-08 23:16:50 -06:00
Edward Amsden
28d9032acd serf: comments about where to put warm and hot states 2023-12-08 23:16:17 -06:00
Edward Amsden
7a81e40829 pma: move most snapshot loading definition and logic into serf 2023-12-08 19:50:30 -06:00
Matthew LeVan
0590fd6f54 use convention 2023-12-08 20:31:16 -05:00
Matthew LeVan
34fd4651c6 preserve cache, cold, warm in with_stack_frame 2023-12-08 20:31:10 -05:00
barter-simsum
82cd52acb8 pma: _bt_delco: don't trim subtrees in leaves 2023-12-08 19:51:44 -05:00
barter-simsum
17d74aed49 pma: fix deletion coalescing first pass. update malloc tests 2023-12-08 19:40:37 -05:00
barter-simsum
10ed711da5 pma: fix _bt_delco hiidx iteration 2023-12-08 19:27:34 -05:00
barter-simsum
81f58631e1 pma: fix _pending_nlist_insert and _mlist_insert 2023-12-08 18:58:24 -05:00
barter-simsum
e7bc9f34ac pma: malloc test update
debugging mlist coalescing and deletion coalescing issues
2023-12-08 18:40:15 -05:00
barter-simsum
d75aed7bd2 pma: various bug fixes
- initialize root to page offset beyond first node stripe (not zero). Is this
improper? We initialize the mlist at the first va in the root. Maybe that part
should handle the node stripes instead? Don't know if it actually matters.

- fix insert tests

- fix state->meta_pages initialization

- other minor fixes
2023-12-08 18:15:31 -05:00
barter-simsum
d1139abf9c pma: fix bt_sync segfault 2023-12-08 17:41:18 -05:00
Edward Amsden
d7236aed41 interpreter: add with_stack_frame method to context 2023-12-08 12:44:55 -06:00
Edward Amsden
529d8786cd stack: pass stack to with_frame closure 2023-12-08 12:28:04 -06:00
Edward Amsden
52a25a4516 2stackz: make with_frame preserve result and add preserve instances for Result and errors 2023-12-08 12:23:38 -06:00
barter-simsum
3eb0b3a5d5 pma: implement bt_state_close to a sufficient degree 2023-12-07 18:40:27 -05:00
Edward Amsden
654fd8bf0a
Merge branch 'status' into eamsden/add-bacon 2023-12-07 09:48:51 -06:00
Edward Amsden
b082af0859 PMA: throw unimplemented when trying to open on windows 2023-12-07 09:41:16 -06:00
Alex Shelkovnykov
3407f0202c jets: clean up comments 2023-12-07 12:21:02 -03:00
Alex Shelkovnykov
2f86f30b8a jets: move useful function into jet utils 2023-12-07 12:18:40 -03:00
Edward Amsden
03ad01d23d pma: fix up last rust todos 2023-12-07 01:36:53 -06:00
Edward Amsden
863afcd7ef pma: format 2023-12-07 01:34:47 -06:00
Edward Amsden
70e0f6abd5 pma: re-initialize hot state after stack reset 2023-12-07 01:28:21 -06:00
Edward Amsden
d321a13da8 pma: Preserve instance for Cold 2023-12-07 01:28:07 -06:00
Edward Amsden
bd31c02baa pma: Persist instance for NounList 2023-12-07 01:19:27 -06:00
Edward Amsden
295da34cf8 pma: preserve instance for BatteriesList 2023-12-07 01:07:26 -06:00
Edward Amsden
06da6c6757 pma: persist instance for Batteries 2023-12-07 00:10:19 -06:00
Edward Amsden
6cce3cc2ed devshell: add bacon (better cargo-watch) 2023-12-06 23:09:53 -06:00
Edward Amsden
6d7a8a1283 devshell: add bacon 2023-12-06 23:08:53 -06:00
Edward Amsden
07c541e87e pma: fix warning in build script 2023-12-06 23:08:53 -06:00
Edward Amsden
76fa10e1ea pma: persist instance for Hamt 2023-12-06 23:08:53 -06:00
barter-simsum
e4695f641c pma: misc bug fixes in _bt_state_load 2023-12-06 18:23:33 -05:00
barter-simsum
f07bc63e01 pma: test restructuring 2023-12-06 18:17:51 -05:00
Matthew LeVan
030218df9f cargo: clippy lint 2023-12-06 16:50:41 -05:00
Matthew LeVan
79819b7795 cargo: format 2023-12-06 16:46:37 -05:00
Matthew LeVan
b7cb624b85 Merge branch 'status' into msl/parse-jets 2023-12-06 16:45:22 -05:00
Matthew LeVan
b99355b23a jets: fix jet_here mismatch 2023-12-06 16:34:02 -05:00
Matthew LeVan
8dabcf2395 jets: fixed jet_here 2023-12-06 16:12:28 -05:00
Sigilante
e9dbb2fd08 Add unit tests for easy. 2023-12-06 13:46:29 -06:00
barter-simsum
1cdb55ce7f pma: _bt_state_restore_maps2 2023-12-06 14:05:54 -05:00