Commit Graph

188 Commits

Author SHA1 Message Date
Philip Monk
9400ad2bfa [pma_malloc] various fixes 2023-02-24 22:31:27 -07:00
Philip Monk
3760bc4e83 [pma_malloc] vendor pma_malloc 2023-02-24 22:31:19 -07:00
Philip Monk
63361cb4a0 [ares] vendor ibig-rs with our changes 2023-02-23 20:50:46 -07:00
Philip Monk
a847f8d986 [ares] add noun mass() calculator 2023-02-23 20:41:39 -07:00
Philip Monk
966074d928 [ares] rustfmt 2023-02-23 20:37:14 -07:00
Philip Monk
e1d3f574c4 Merge branch 'philip/alloc' into eamsden/hamt 2023-02-23 17:12:40 -07:00
Edward Amsden
ec48de56ac [ares] use fenix to get rust for nix shell 2023-02-23 18:03:30 -06:00
Edward Amsden
36c0f182ee [ares] [hamt] tell rust it's really OK for us to pack this generic struct, since it only contains pointers to the generic type 2023-02-23 18:01:37 -06:00
Edward Amsden
e79781c892 [ares][stack] fix in_frame test polarity (thanks to @philipcmonk) 2023-02-23 15:04:53 -06:00
Philip Monk
ba4d3b6d24 [ares][jets] convert remaining jets to _stack functions 2023-02-22 19:34:39 -07:00
Philip Monk
6b2cbf7140 [ares][jets] convert jet to _stack functions 2023-02-22 18:22:40 -07:00
Philip Monk
e06c2f2ac8 [ares] support ibig-rs patch to not allocate on some operations 2023-02-22 18:18:44 -07:00
Philip Monk
b6b2ee3fb3 [ares] assert no allocation during interpret 2023-02-22 18:05:28 -07:00
Edward Amsden
b03f398a69 [ares] [interpreter] wip siglus caching 2023-02-21 13:21:54 -06:00
Edward Amsden
5a885181ea [ares] [wip] add siglus (%memo) cache to treewalking interpreter 2023-02-21 12:52:39 -06:00
Edward Amsden
abfd642868 [ares] [hamt] jam and cue work with mutable hamt 2023-02-21 04:58:53 -06:00
Edward Amsden
e2743e24e7 [ares] [hamt] add mutable hamt for use within a single nockstack frame 2023-02-18 10:39:45 -06:00
Edward Amsden
dce5e74185 [ares][serialization] wip: use HAMT for jam and cue 2023-02-17 22:55:40 -06:00
Philip Monk
ff603d01f6 [ares] add pill to run azimuth events
Also includes various functions changes to allow printing nouns in gdb,
printing direct atoms as ascii when possible, etc.
2023-02-17 18:51:51 -07:00
Edward Amsden
bd44624e63 [ares][stack] make in_frame take a generic pointer 2023-02-17 19:26:28 -06:00
Edward Amsden
9140984333
Merge branch 'status' into eamsden/hamt 2023-02-17 16:28:11 -06:00
Edward Amsden
ec3a17af9c [ares][hamt] shift off 5 bits per level on insert, not 1 2023-02-17 15:15:23 -06:00
Edward Amsden
17ca8e43ad [ares] [hamt] fix bugs in chunk computations 2023-02-17 14:00:31 -06:00
Edward Amsden
c856d2f730 [ares] [hamt] mark bug in comment and reformat 2023-02-16 19:28:30 -06:00
Edward Amsden
4e422efecc [ares] rewrite HAMT entirely, more readable/less raw representation 2023-02-16 19:19:16 -06:00
Edward Amsden
646576dd56 [ares] [wip] hamt and trait-based object preservation on stack pop 2023-02-16 12:46:07 -06:00
Philip Monk
f4be9f30bf [ares] fix the Last Bug in unifying equality
The addition/subtraction is with respect to the polarity we matched on,
but the high and low pointers are with respect to the polarity we're
switching to .  The stack pointer is always at slot 0 (the outer slot)
and the frame pointer is always at slot 1 (the inner slot).
2023-02-16 05:18:58 -07:00
Philip Monk
342d55bafa [ares] fix bug in edit()
Relatively deep edits were producing incorrect results.
2023-02-15 22:41:05 -07:00
Philip Monk
a96ea5ffba [jets] add rip jet 2023-02-14 22:18:02 -07:00
Philip Monk
114e74ec07 [jets] add rep jet 2023-02-14 21:52:19 -07:00
Philip Monk
04d99a9a68 [jets] add can jet 2023-02-14 21:39:25 -07:00
Philip Monk
7f4a411e7e [jets] add cat jet 2023-02-14 21:18:02 -07:00
Philip Monk
50c90381ef [jets] add end jet 2023-02-14 21:02:49 -07:00
Philip Monk
0569a26142 [jets] add mix jet 2023-02-14 20:48:17 -07:00
Philip Monk
9825db95ff [jets] add dis jet 2023-02-14 20:43:25 -07:00
Philip Monk
f5d0bea6ac [jets] add con jet 2023-02-14 20:39:45 -07:00
Philip Monk
8946568a08 [jets] add met jet 2023-02-14 20:15:08 -07:00
Philip Monk
956045a91d [jets] move jets_math under jets 2023-02-14 20:05:42 -07:00
Philip Monk
171da85f6f [jets] add mug test 2023-02-14 16:40:28 -07:00
Philip Monk
331336f56b [jets] add cut test 2023-02-14 16:31:11 -07:00
Philip Monk
2b01a761c6 [jets] add rsh test 2023-02-14 16:24:13 -07:00
Philip Monk
d1d32167ff [jets] add lsh test 2023-02-14 16:19:30 -07:00
Philip Monk
4653e41bd8 [jets] add bex test 2023-02-14 16:02:29 -07:00
Philip Monk
ee9d2c7c3c [jets] add gte test 2023-02-14 15:56:38 -07:00
Philip Monk
dd4621be20 [jets] add gth test 2023-02-14 15:56:13 -07:00
Philip Monk
f54f5171ae [jets] add lte test 2023-02-14 15:55:10 -07:00
Philip Monk
3d022b3f90 [jets] add lth test 2023-02-14 15:54:23 -07:00
Philip Monk
38399d12b0 [jets] add mod test 2023-02-14 15:42:42 -07:00
Philip Monk
fd94db487f [jets] add dvr test 2023-02-14 15:38:59 -07:00
Philip Monk
03df84d67d [jets] add div test 2023-02-14 15:25:27 -07:00
Philip Monk
7533406fa4 [jets] add mul test 2023-02-14 15:20:48 -07:00
Philip Monk
6aa17458d5 [jets] add sub test 2023-02-14 15:10:16 -07:00
Philip Monk
60c32b2ed2 [jets] add 'add' test 2023-02-14 14:57:38 -07:00
Philip Monk
b05a6a7b01 [jets] add testing framework 2023-02-14 14:26:31 -07:00
Philip Monk
dec93b9ed8 [jets] add rsh jet 2023-02-14 13:08:19 -07:00
Philip Monk
bb819abcc2 [ares] fix bug in unifying equality 2023-02-14 13:08:19 -07:00
Philip Monk
89e7d612f8 [jets] add lsh jet
Also implement chop, as in vere
2023-02-14 13:08:19 -07:00
Philip Monk
ccc0306d33 [jets] add bex jet 2023-02-14 13:08:19 -07:00
Philip Monk
39d0cab706 [jets] add gte jet 2023-02-14 13:08:19 -07:00
Philip Monk
9fb605769e [jets] add gth jet 2023-02-14 13:08:19 -07:00
Philip Monk
bbae5bb146 [jets] add lte jet 2023-02-14 13:08:19 -07:00
Philip Monk
3e7df76174 [jets] add lth jet 2023-02-14 13:08:19 -07:00
Philip Monk
8c1f2b668f [jets] add mod jet 2023-02-14 13:08:19 -07:00
Philip Monk
025ce511f0 [jets] add dvr jet 2023-02-14 13:08:19 -07:00
Philip Monk
099ec9243f [jets] add div jet 2023-02-14 13:08:19 -07:00
Philip Monk
f6e5b3898d [jets] add mul jet 2023-02-14 13:08:19 -07:00
Philip Monk
511370d592 [ares] add sub jet 2023-02-14 13:08:19 -07:00
Philip Monk
4c1e742044 [jets] import ubig, add "add" jet 2023-02-14 13:08:19 -07:00
Philip Monk
d39715df31 [jets] add mug jet 2023-02-14 13:08:19 -07:00
Philip Monk
33c4996aef [ares] add test mode to sham jets
Similar to vere, this mode runs both the nock and the jet and compares
the results.
2023-02-14 13:08:19 -07:00
Philip Monk
9f3b4dd781 [ares] allow jets to fail 2023-02-14 13:08:19 -07:00
Edward Amsden
82a08d878e
Merge pull request #24 from urbit/philip/equal
[ares] fix a couple bugs in unifying equality
2023-02-13 20:00:59 -06:00
Philip Monk
43f3622f63 [ares] fix a couple bugs in unifying equality
East/West typo, also we were setting the frame pointer to the stack
pointer while chasing up the stack.

This also refactors the conditionals in a way that I think is easier to
read.  We always have to do both calculations anyway.
2023-02-13 18:46:37 -07:00
Edward Amsden
c68728edf1 [ares] update rust compiler to 1.64 2023-02-13 16:01:50 -06:00
Philip Monk
634680aa24 [ares] copy directly into atom in newt 2023-02-13 11:13:21 -07:00
Philip Monk
fe3c0895b2 [ares] comments and formatting 2023-02-13 10:57:13 -07:00
Philip Monk
ff59ca8ba9 [ares] rename new_tuple -> T, make D const 2023-02-13 10:39:08 -07:00
Philip Monk
dd4dc625bd [ares] harden snapshotting 2023-02-12 18:02:11 -07:00
Philip Monk
f16c194098 [ares] refactor snapshotting
Especially, don't require cueing the snapshot to verify the checksum and
get the event number.
2023-02-12 17:10:26 -07:00
Philip Monk
b9abb0efe8 [ares] extend jam perstistence to use two snapshots 2023-02-12 14:55:05 -07:00
Philip Monk
6d51c8c262 [ares] add simplest possible checkpoints
These checkpoints are just a jam file of your state, with the event
number and a checksum.  If you crash while writing the checkpoint, it
will be corrupt.  Obviously, these snapshots will be slow to write on a
real ship as well.
2023-02-11 23:04:39 -07:00
Philip Monk
51b4735711 [ares] fill out basic lifecycle
With these changes, you can boot the included "baby" pill -- a trivial
pill which requires no jets and prints the text "effect" on every event.
2023-02-11 17:28:14 -07:00
Philip Monk
1d6e4c74b2 [ares] add basic ipc handler 2023-02-11 02:51:59 -07:00
Philip Monk
e4f44d705c [ares] convenient noun constructors 2023-02-11 02:40:49 -07:00
Edward Amsden
683bbaadef
Move contribution guidelines to repository root and link from README 2023-02-05 17:08:02 -06:00
Edward Amsden
10b8166815
Merge branch 'status' into eamsden/CONTRIBUTING 2023-02-03 13:59:03 -06:00
Edward Amsden
716940c83d Add brief CONTRIBUTING.md file 2023-02-03 13:58:27 -06:00
Edward Amsden
5f3e5c1f12 Merge branch 'philip/jets' into i/15/tas-macro 2023-02-03 13:43:47 -06:00
Peter McEvoy
3de42389c1 Use tas!() when computing Nock 11 2023-02-03 12:19:32 -05:00
Philip Monk
7765c020cf [ares] rename %prop->%sham and add comment 2023-02-03 10:19:23 -07:00
Peter McEvoy
83b4fe308a Revert "Sort dependencies alphabetically"
This reverts commit 38fd034984.
2023-02-03 12:15:56 -05:00
Peter McEvoy
27f64b96ea Use tas!() in jets dashboard 2023-02-03 12:12:10 -05:00
Peter McEvoy
f41cf8cc38 Test tas!() 2023-02-03 12:12:08 -05:00
Peter McEvoy
d072c3ecea Implement tas!() in separate crate 2023-02-03 12:11:53 -05:00
Peter McEvoy
38fd034984 Sort dependencies alphabetically 2023-02-03 12:09:56 -05:00
Philip Monk
3e05e54104 Merge branch 'philip/raw' into philip/jets 2023-02-02 21:00:41 -07:00
Philip Monk
336214cd9b [ares] fix atom initialization bug 2023-02-02 20:58:11 -07:00
Edward Amsden
697180606b
Merge pull request #14 from urbit/eamsden/2stackz-fixes
[ares][unifying equality] simplify, document, remove bugs and redundancies
2023-02-02 18:49:37 -06:00
Edward Amsden
3ee28adb93 [ares][unifying equality] add fast pointer and cached mug checks outside the loop 2023-02-02 18:47:53 -06:00
Edward Amsden
4ddcb1e07c
[ares][unifying equality] memcmp for indirect atoms requires bytesize 2023-02-02 18:30:34 -06:00