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
Philip Monk
ac6103da99
[ares] style fixes
2023-02-02 17:19:45 -07:00
Edward Amsden
4edd3a6fb3
Merge branch 'status' into philip/jets
2023-02-02 13:51:44 -06:00
Edward Amsden
06fe914c34
[ares] simplify unifying equality, remove redundant checks, and better document
2023-02-02 13:37:04 -06:00
Edward Amsden
e04329f2b6
[ares][2stackz] missing pop of work stack when pointer equality is discovered
2023-02-02 12:06:25 -06:00
Philip Monk
23e33cfd11
add note to raw_slot
2023-02-02 10:54:31 -07:00
Philip Monk
69b4bbeeae
add naive jet dashboard with two jets
2023-02-01 21:36:37 -07:00
Philip Monk
b88190f119
rename axis->slot to reduce confusion
2023-02-01 21:35:30 -07:00
Philip Monk
d55db12c12
implement Debug trait for nouns
2023-02-01 21:35:07 -07:00
Philip Monk
999e1e29d7
east/west typo
2023-02-01 20:06:49 -07:00
Edward Amsden
b7fac596c3
[ares] get rid of warnings
2023-02-01 18:42:38 -06:00
Edward Amsden
140dcf4e28
[ares] rust formatting
2023-02-01 18:37:48 -06:00
Edward Amsden
4eb99cc2d4
[ares] Some cleanup
2023-02-01 18:36:43 -06:00
Edward Amsden
665a2f5672
[ares] Source code for cue-and-then-jam benchmark
2023-02-01 18:35:05 -06:00
Edward Amsden
fc048c8e8b
[ares] Update cargo.lock
2023-02-01 18:34:38 -06:00
Edward Amsden
a5f36ec6d3
[ares]: Cue-and-then-jam the solid pill works and is fast
2023-02-01 18:34:21 -06:00
Edward Amsden
903ffe694c
[ares] Add noun acyclicality check
2023-02-01 18:33:42 -06:00
Edward Amsden
dabafb685d
[ares/2stackz]: Add comment about split stack frames per Joe
2023-02-01 18:30:05 -06:00
Edward Amsden
d555967563
[ares]: import custom murmur3 and add feature flag for acyclic check
2023-02-01 18:28:47 -06:00
Edward Amsden
223b946199
[ares] comment explaining why unifying equality does not, in fact, infinite loop
2023-01-30 19:27:41 -06:00
Edward Amsden
9d97c2d29f
[ares] bugfixes in unifying equality
2023-01-30 19:27:02 -06:00
Philip Monk
6f5e87aa05
add decrement test and make it pass
2023-01-27 13:41:35 -07:00
Edward Amsden
9920fc15af
current state for inspection
2023-01-26 18:02:49 -06:00
Edward Amsden
06ae62f6a3
remove needless debug assert
2022-07-16 17:30:52 -05:00
Edward Amsden
7762e97981
For direct atom, return pointer to atom instead of immediately-stale pointer to direct copy
2022-07-16 17:28:54 -05:00
Edward Amsden
d56f081e6e
Rectify IndirectAtom doc comment
2022-07-16 16:08:43 -05:00
Edward Amsden
4a264278a3
format code, add assertion for output equality with file contents
2022-07-16 16:04:18 -05:00
Edward Amsden
c968648d86
Copy output to mmap as bytes
2022-07-16 15:09:34 -05:00
Edward Amsden
0ff0f2f1f2
Remove debugging printfs
2022-07-16 15:09:13 -05:00
Edward Amsden
0a072238d2
Make sure indirects allocated with bitslice buffers are zeroed first
2022-07-16 14:09:02 -05:00
Edward Amsden
299f4366bd
rectification of comments
2022-07-16 08:27:09 -05:00
Edward Amsden
4fb2e0637c
hurray.jam: jam of [0 1 %hurray]
2022-07-16 00:12:47 -05:00
Edward Amsden
ffdd91c341
now runs to completion on hurray.jam without crashing
2022-07-16 00:12:13 -05:00
Edward Amsden
a418d66e22
Need to copy out result of cue
2022-07-15 21:09:54 -05:00
Edward Amsden
43c8f71385
Iron Planet, not-segfaulting version
2022-07-15 21:02:51 -05:00
Peter McEvoy
cffc67fefc
Add Noun::as_*() methods for unwrapping
2022-03-17 16:45:17 -05:00
Peter McEvoy
aaeafc17b6
Adopt union represenation of noun
2022-03-17 16:45:12 -05:00
Edward Amsden
05ef3f1ed7
Make indirect_size_unchecked public
2022-03-17 16:42:20 -05:00
Edward Amsden
34e2cc6873
initial commit of memory manager
2022-03-16 18:28:06 -05:00