Peter McEvoy
be2af44231
Remove unused lifetime from Cell::tail_as_mut()
2023-03-14 18:26:21 -04:00
Peter McEvoy
38462557e5
Add clippy to Nix shell
2023-03-14 18:24:51 -04:00
Peter McEvoy
25e9798572
Replace dyn Stack objects with static type parameters
2023-03-14 18:00:18 -04:00
Peter McEvoy
133a478bdc
Replace dyn NounAllocator objects with static type parameters
2023-03-14 18:00:12 -04:00
Peter McEvoy
36b591f3c8
Comment out partial implementation of get_jet_test_mode()
2023-03-14 12:21:57 -04:00
Peter McEvoy
4ceb48b5cf
Add local type aliases for HAMT stem entries
2023-03-14 12:19:53 -04:00
Peter McEvoy
38d3c124ce
Return Option<Jet> instead of Result<Jet, ()> from jets::get_jet()
2023-03-14 12:19:53 -04:00
Peter McEvoy
fff84ada17
Add noun::Error and noun::Result
2023-03-14 12:19:49 -04:00
Peter McEvoy
290b964d11
Apply additional lints suggested by cargo clippy
2023-03-14 11:41:46 -04:00
Peter McEvoy
b60100c806
Apply lints suggested by cargo clippy
2023-03-10 12:18:40 -05:00
Philip Monk
ffff0657b7
[ares] hook up pma_malloc to event lifecycle
...
All tests pass except the azimuth pill, which requires too many dirty
pages in one event.
2023-02-27 22:43:29 -07:00
Philip Monk
7c22096723
[ares] refactor snapshots
2023-02-27 16:46:48 -07:00
Philip Monk
2014cbbc46
[ares] factor pma into separate module, fix warnings
2023-02-27 15:51:27 -07:00
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