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
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
Matthew LeVan
6deb05348e
Merge branch 'status' into msl/parse-jets
2023-12-06 11:19:42 -05:00
Edward Amsden
a09010bca5
jets: fix lint on hot state constant
2023-12-06 08:37:46 -06:00
Edward Amsden
4b4eb012be
jets: format
2023-12-06 08:34:12 -06:00
Edward Amsden
d5fc700129
jets: a bit of external developer friendliness for hot state
2023-12-06 08:33:34 -06:00
Edward Amsden
93e7ca016f
serf: accept hot state as parameter
2023-12-06 08:33:30 -06:00
Edward Amsden
473263eabb
Merge pull request #159 from urbit/eamsden/minimal-main
...
main: just be a serf, panic if not a serf
2023-12-06 08:30:38 -06:00
Edward Amsden
f2e9aa1e94
main: format
2023-12-06 08:24:13 -06:00
Edward Amsden
b9a0b37789
Merge pull request #161 from urbit/msl/upgrade-urcrypt-1
...
build: support latest `urcrypt`
2023-12-06 08:18:25 -06:00
Alex Shelkovnykov
d07ffe5bdb
Merge branch 'status' into eamsden/context-restore
2023-12-06 07:40:17 -06:00
Alex Shelkovnykov
1d777a60dd
serf: bump NockStack size to 4GB
2023-12-06 10:31:29 -03:00
Edward Amsden
1f68d65bb8
hamt: allocate outermost stem on NockStack
2023-12-05 23:32:39 -06:00
Philip Quirk
e7d76a3818
reset cache before work_swap
2023-12-05 21:18:02 -06:00
barter-simsum
87320843de
pma: remove old node freelist implm and refactor _bt_state_load
2023-12-05 21:39:21 -05:00
barter-simsum
2b6f5fdc26
pma: abort if mmap calls return MAP_FAILED
2023-12-05 21:21:26 -05:00