Commit Graph

846 Commits

Author SHA1 Message Date
Alex Shelkovnykov
5bc00a175b jets: boolean helpers for comparator jets 2023-12-19 16:44:51 -03:00
Matthew LeVan
1251583052 ed: fix typo 2023-12-19 14:18:02 -05:00
Matthew LeVan
93644c12d0 wip: aes_siv crate does not support RFC 5297.4 2023-12-19 14:13:16 -05:00
Jonathan Paprocki
16c91e96d9 jets: rev PR comment 2023-12-19 13:56:46 -05:00
Jonathan Paprocki
24ce412a1f jets: fix jet_rev 2023-12-19 12:58:37 -05:00
Alex Shelkovnykov
e1e79bbef4 jets: cargo fmt + lint 2023-12-19 14:51:21 -03:00
Alex Shelkovnykov
9d65f6ecbc Merge branch 'status' into parse 2023-12-19 14:39:15 -03:00
Matthew LeVan
017b488b74 wip: siv_en encrypts but is incorrect 2023-12-19 11:22:46 -05:00
Edward Amsden
f601a61827 pma: clean up a bunch of warnings (not all though) 2023-12-19 09:56:34 -06:00
barter-simsum
9a74aff3e8 pma: significant revisions to freelist logic 2023-12-18 22:02:58 -05:00
Matthew LeVan
d12656e7c3 wip: aes mess 2023-12-18 21:22:06 -05:00
Matthew LeVan
f8c5620752 ed: add comments 2023-12-18 16:14:29 -05:00
Matthew LeVan
3767f89272 wip: all but shar work for ed 2023-12-18 16:08:22 -05:00
Matthew LeVan
7878b775ab ed: veri 2023-12-18 15:03:44 -05:00
Philip Quirk
760b317a3e add a warning to discourage use of check_all feature flag 2023-12-18 13:48:20 -06:00
Matthew LeVan
228ab7f5b7 ed: sign 2023-12-18 14:08:59 -05:00
Matthew LeVan
561701aaf1 wip: shar 2023-12-18 12:55:13 -05:00
Edward Amsden
7b2684aa26 jets: jet +turn 2023-12-18 10:46:34 -06:00
Matthew LeVan
eb77dad57f ed: puck 2023-12-18 11:39:09 -05:00
Edward Amsden
64367a9037 ares_crypto: cargo lock 2023-12-17 21:46:26 -06:00
Edward Amsden
087b90db90 ares_crypto: add scaffolding for tests vs urcrypt 2023-12-17 21:46:04 -06:00
barter-simsum
c0e68a27f6 pma: btest ephemeral structure equality tests 2023-12-17 20:05:03 -05:00
Matthew LeVan
bdaeed22c4 wip: ares_crypto initial commit 2023-12-17 18:57:51 -05:00
Alex Shelkovnykov
be96c495a8 serf: implement %live %exit 2023-12-17 14:00:19 -03:00
barter-simsum
3a6ed42054 pma: depth passed to _flist_read2 should be 1 not 0 2023-12-15 19:49:35 -05:00
barter-simsum
2c016500ac pma: restore mmaps before regenerating ephemeral state 2023-12-15 19:24:37 -05:00
barter-simsum
9a8229837d pma: initialize state->which to 0 in bt_state_open 2023-12-15 18:41:50 -05:00
barter-simsum
0ec984663c pma: revisions to codepath handling opening of existing pma 2023-12-15 18:38:52 -05:00
barter-simsum
0496de5f4c pma: testing out a mmap call /before/ reading header 2023-12-15 16:01:34 -05:00
Edward Amsden
012a7bac22
Merge pull request #180 from urbit/sigilante/remove-doublejam
serf:  removal of snapshotting
2023-12-15 13:41:18 -06:00
Edward Amsden
011d452156 main: add stop_for_debug feature to stop Ares when it starts for a debugger to attach 2023-12-15 13:12:05 -06:00
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
Sigilante
a4d67e01fd serf: placate linter 2023-12-15 10:39:02 -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
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
Matthew LeVan
6b17f11ebe jets: cook 2023-12-10 08:12:33 -05:00
Matthew LeVan
1543664377 jets: cold 2023-12-10 07:47:50 -05:00
Matthew LeVan
e209c1f0bd jets: plug 2023-12-10 07:43:28 -05:00
Matthew LeVan
4e0b0a8929 jets: shim 2023-12-10 07:37:01 -05:00
Matthew LeVan
20593a91a4 jets: stew 2023-12-10 07:27:10 -05:00
Matthew LeVan
df0790ef0b wip: stew 12/9 2023-12-09 21:38:08 -05:00
Matthew LeVan
63ccabf1f1 wip: stew still broken 2023-12-09 16:27:09 -05: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
Matthew LeVan
dd13cba5df wip: debugging stew 2023-12-09 10:25:24 -05: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
1b26b00dc2 Merge remote-tracking branch 'origin/status' into msl/more-parse-jets 2023-12-08 20:41:48 -05: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
Matthew LeVan
0094130918 wip: stir works more but segfaults now 2023-12-08 15:15:20 -05:00
Matthew LeVan
620a5b3ab2 wip: immaculate conception 2023-12-08 14:13:39 -05:00
Edward Amsden
ede1db4b18 jets: fix jet_stir 2023-12-08 14:03:29 -05:00
Matthew LeVan
81d7d5c875 Merge branch 'status' into msl/more-parse-jets 2023-12-08 14:02:13 -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
Matthew LeVan
fd12c44afc wip: 12/7 2023-12-07 22:46:03 -05:00
Matthew LeVan
fd413bafe7 wip: jet_stew 2023-12-07 22:24:56 -05:00
Matthew LeVan
a44846a3fe wip: stir needs to use with_frame 2023-12-07 20:40:35 -05:00
Matthew LeVan
4312ecb952 wip: x 2023-12-07 19:26:42 -05:00
barter-simsum
3eb0b3a5d5 pma: implement bt_state_close to a sufficient degree 2023-12-07 18:40:27 -05:00
Matthew LeVan
89506c4f1f remove swp 2023-12-07 18:22:22 -05:00
Matthew LeVan
afc340857d Merge branch 'status' into msl/more-parse-jets 2023-12-07 18:17:20 -05:00
Matthew LeVan
ecb626e227 jets: broken stir i think? 2023-12-07 18:12:07 -05:00
Matthew LeVan
b982d79b18 restore cargo 2023-12-07 18:04:12 -05:00
Matthew LeVan
d8e6db14ef wip: formatting 2023-12-07 15:01:08 -05:00
Matthew LeVan
695a878754 wip: push current stir, trying to fix bugs 2023-12-07 14:20:53 -05:00
Matthew LeVan
45eff27f62 jets: stack.frame_pop() at end of stir 2023-12-07 13:23:49 -05:00
Matthew LeVan
bd45da99f8 jets: naive, non-cached stir implementation 2023-12-07 13:17:20 -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