Commit Graph

5178 Commits

Author SHA1 Message Date
Joe Bryan
1e5e4e5001 vere: refactors _term_it_show_cursor() 2020-09-11 00:07:14 -07:00
Joe Bryan
f3299796e6 vere: check for null before closing terminal pipe 2020-09-11 00:07:14 -07:00
Joe Bryan
db54ac1084 vere: zero-initialize terminal mirror style offset 2020-09-11 00:07:14 -07:00
Joe Bryan
41238a5549 vere: further refactors the terminal spinner 2020-09-11 00:07:14 -07:00
Joe Bryan
bf28ff571f vere: refactors term write codepaths, avoiding reallocation 2020-09-11 00:07:09 -07:00
Joe Bryan
ce236f17ee term: refactors spinner, avoiding (most) unnecessary measurement 2020-09-10 15:01:46 -07:00
pilfer-pandex
98bb534930
Merge pull request #3470 from urbit/pp/loud
Use logInfo in place of logDebug in most situations
2020-09-10 12:47:39 -07:00
Joe Bryan
f4c58ff256 u3: improves error output on c3_assert() 2020-09-09 22:43:28 -07:00
Joe Bryan
0699f6f3f1 vere: improves error messages on ipc EOF 2020-09-09 22:42:53 -07:00
Joe Bryan
3eb51b13d6 vere: fixes %trim effect handler 2020-09-09 22:40:46 -07:00
Joe Bryan
0641769875 vere: fix crash on u3_pier_bail() 2020-09-09 22:39:39 -07:00
Joe Bryan
a353179908 vere: consistently handle %meld $writ in king 2020-09-09 22:35:52 -07:00
Joe Bryan
cda7a7edb0 ur: consistently use fibonacci constants 2020-09-09 22:33:44 -07:00
Joe Bryan
efe1f7ce39 u3: disables meld and cram under U3_MEMORY_DEEBUG 2020-09-09 22:33:07 -07:00
pilfer-pandex
ba79aa713a king: move most things from debug log level to info 2020-09-09 18:20:21 -07:00
Joe Bryan
c20385a212 u3: refactors on-loom re-allocation in _cu_all_to_loom() 2020-09-09 13:12:27 -07:00
fang
7889a663b2
Merge pull request #3467 from urbit/m/term-escape-vere
vere: support rendering +stub as ansi escape codes
2020-09-09 20:08:55 +02:00
Fang
467d8d239b
vere: support rendering +stub as ansi escape codes
Adds support to term.c for a %klr blit, containing a +stub describing
styled text.

Dill will start making use of this in a separate commit, for release
cutting reasons.
2020-09-09 19:06:40 +02:00
Joe Bryan
6cb5df513e u3: refactors off-loom re-allocation in _cu_from_loom() 2020-09-08 22:30:55 -07:00
Joe Bryan
82e91811d4 ur: replaces allocation-failure assertions with error printfs/abort() 2020-09-08 22:25:24 -07:00
Joe Bryan
562548440b ur: assert not-null after all allocations 2020-09-08 13:20:43 -07:00
Joe Bryan
40dabb3bac u3: tweaks +stir jet for refcount clarity 2020-09-08 13:11:29 -07:00
Elliot Glaysher
0a3fe85c06
Merge pull request #3439 from urbit/kh-sending-chunk
king: change logging from tracing to info in Wai.hs
2020-09-08 10:32:23 -04:00
Elliot Glaysher
d6762a8baf
Merge pull request #3431 from urbit/fixup-galaxy-table
king dawn: replace web3 usage with hand rolled jsonrpc messages.
2020-09-08 10:10:50 -04:00
Elliot Glaysher
ecbcdf7d00 king: change logging from tracing to info in Wai.hs
I noticed that the king's text log file kept filling up, and it's
mostly 'sending chunk "\n"' from eyre. This changes the log level
of every partial send over an active eyre channel to info, instead
of always.
2020-09-05 21:49:23 -04:00
Elliot Glaysher
a42c90db9c king dawn: export functions used in tests 2020-09-04 17:02:11 -04:00
Joe Bryan
89f833365c u3: optimizes +stir jet, pushes incremental results onto the road stack 2020-09-04 13:07:52 -07:00
Joe Bryan
836715ff31 u3: optimizes +stir jet, reducing incremental allocations in fold 2020-09-04 13:08:11 -07:00
Joe Bryan
8e1468b2e0 u3: rewrites +stir to use loops (constant stack space) 2020-09-04 13:07:52 -07:00
Elliot Glaysher
74b40e0e52 king dawn: nits 2020-09-04 14:44:26 -04:00
Elliot Glaysher
07089a1c93 king dawn: remove stray marks 2020-09-04 11:01:47 -04:00
Elliot Glaysher
4bd0882e7d king dawn: instead of crashing, return an error 2020-09-04 10:54:31 -04:00
Joe Bryan
844ed22a2e vere: moves |pack initiation to king, handles future |meld 2020-09-03 22:22:38 -07:00
Joe Bryan
81aa0e3003 vere: adds missing function comments in pier.c 2020-09-03 22:14:07 -07:00
Joe Bryan
b47047b869 u3: renames global deduplication to %meld, adds to $writ 2020-09-03 22:07:55 -07:00
Joe Bryan
4d86e3595c u3: switches +cue jet to use new implementation 2020-09-03 16:00:19 -07:00
Joe Bryan
e9d4b7b762 ur: cleans up header comments 2020-09-03 15:50:58 -07:00
Joe Bryan
51b85dc5a8 u3: removes redundant byte-array allocation in u3s_cue_xeno 2020-09-03 15:38:27 -07:00
Joe Bryan
f42e436055 vere: use off-loom cue for ipc $plea 2020-09-03 15:00:17 -07:00
Joe Bryan
466f342e7b vere: use off-loom jam for ipc $writ 2020-09-03 14:48:58 -07:00
Joe Bryan
33b6a8b924 u3: ports (formerly) failing jam test case from ur_tests 2020-09-03 14:30:05 -07:00
Joe Bryan
c469ccb043 ur: fixes a bug in ur_bsw_bytes()
which was introduced by an earlier fix for a buffer over-read
2020-09-03 14:29:30 -07:00
Joe Bryan
9c59363680 ur: updates ur_bsw_t comparison tests to memcmp() buffers (failing) 2020-09-03 14:29:30 -07:00
Joe Bryan
0569bd9e3d ur: adds failing jam test case 2020-09-03 14:29:30 -07:00
Elliot Glaysher
4a7e1b2009 king dawn: replace web3 usage with hand rolled jsonrpc messages.
This replaces the autogenerated bindings to the Azimuth contracts
which use Network.Web3 with hand rolled json messages. Booting a
ship involved 256 individual galaxy point lookups using web3, while
Vere batched all of that into one JSONRPC message.

With this patch, we also batch everything at each phase into one
JSONRPC batch.
2020-09-03 16:05:08 -04:00
Joe Bryan
91f5c50bef vere: adds jam/cue tracing to ipc and disk layers 2020-09-02 23:23:18 -07:00
Joe Bryan
9159a7a318 serf: use off-loom cue for ipc $writ 2020-09-02 23:23:18 -07:00
Joe Bryan
313c5f6050 serf: use off-loom jam for ipc $plea 2020-09-02 23:23:18 -07:00
Joe Bryan
b9409693dc serf: refactors event tracing, adds jam/cue tracing 2020-09-02 23:23:18 -07:00
Joe Bryan
2bd4602143 Revert "TMP: adds ivory-pill boot-timing printfs"
This reverts commit e7df5cedc1ff24b8cf9f07484278a9fc9d647ff4.
2020-09-02 18:50:45 -07:00
Joe Bryan
0709edb84a vere: swaps out cue implementation in ivory pill boot 2020-09-02 18:50:45 -07:00
Joe Bryan
9ef5e096a7 TMP: adds ivory-pill boot-timing printfs 2020-09-02 18:50:45 -07:00
Joe Bryan
8eb8a142a6 ur: adds explanatory comments to ur_tests.c 2020-09-02 18:50:45 -07:00
Joe Bryan
f45dfaed36 ur: refactors and adds comments to hashcons.h 2020-09-02 18:50:45 -07:00
Joe Bryan
f49963ffcf ur: refactors and adds comments to bitstream.h 2020-09-02 18:50:40 -07:00
Joe Bryan
f6bd14c7c6 ur: cleans up and comments defs.h 2020-09-02 15:44:05 -07:00
Joe Bryan
d676d034cc vere: refactors ipc-framing api (newt.c) 2020-09-01 14:38:49 -07:00
Joe Bryan
1839384d52 u3: refactors ivory-pill boot 2020-09-01 14:20:07 -07:00
Joe Bryan
2897feeea3 u3: removes obsolete portable snapshot implementation 2020-09-01 13:59:20 -07:00
Joe Bryan
7d541b5a1f u3: refactors mmap read/write patterns in urth.c 2020-09-01 13:55:46 -07:00
Joe Bryan
f0dd6dc7a6 u3: refactors u3s_cue_xeno, declares u3s_cue_xeno_unsafe() 2020-09-01 11:44:59 -07:00
Fang
626c4671da
vere: v0.10.9-rc1 2020-09-01 14:30:42 +02:00
Joe Bryan
b01d57eb30 u3: distinguish bad backreferences, enforce 62-bit cursors in cue 2020-08-31 18:06:42 -07:00
Joe Bryan
fd5edcb6b6 ur: distinguish bad backreferences from other failures in cue 2020-08-31 18:06:42 -07:00
Joe Bryan
612df9541f ur: documents jam/cue invariants, enforces cue 2020-08-31 18:06:42 -07:00
Joe Bryan
4128b19d91 ur: adds ur_bsr_init() to check 64-bit bitwise-addressing overflow 2020-08-31 18:06:42 -07:00
Joe Bryan
4387c3e2d8 ur: adds ur_bsr_skip_any() and tests, uses in ur_cue_test() 2020-08-31 18:06:42 -07:00
Joe Bryan
c123e9413a ur: refactors ur_bsr_bytes_any(), fixes edge-case bugs 2020-08-31 18:06:38 -07:00
Joe Bryan
bb136b7981 ur: updates ur_bsr_bytes_any() test (failing) to cover off-the-end edge-cases 2020-08-31 15:55:45 -07:00
Fang
45ad5adbfd
vere: more correct lane cache commentary
@da are 128 bits, just like the worst-case @p.
2020-08-31 22:37:52 +02:00
Fang
e90258627f
vere: reset instead of decrement scry fail counter
If scries succeed, they work. No need to make this smarter.
2020-08-31 22:36:32 +02:00
Fang
7aa452b2fa
vere: ames.c stylistic improvements
Primarily, be consistent about parenthesis spacing around conditionals.
2020-08-31 22:34:10 +02:00
Fang
585fb248ec
vere: only touch forward queue counter if scrying
Slightly simplify the logic around changing the queue size counter by
only modifying it when we're _actually_ scrying, instead of
synchronously processing the forward.
2020-08-29 17:33:31 +02:00
Fang
5f77200d0d
vere: cache lanes for stateless forwarding
While stateless forwarding doesn't need to touch disk, there's still
overhead in needing to communicate with the serf over IPC. By caching
lanes, we get to skip the IPC pipeline, and can respond to forwarding
requests synchronously.

We include timestamps alongside the entries in the cache, and consider
entries older than two minutes as stale.

The cache is capped at around ~100mb of memory use. Further commentary
is provided inline.

Previously, ~nus would drop 3 forward requests, for every one it
fulfilled. Now, it seems able to keep up with demand, only dropping
forwards shortly after boot, while the cache isn't primed yet.
2020-08-29 17:17:45 +02:00
Joe Bryan
7fa6499e37 build: updates benchmarks 2020-08-28 16:04:25 -07:00
Joe Bryan
6f3d83f4dc ur: adds ur_jam_unsafe() 2020-08-28 16:04:25 -07:00
Joe Bryan
7b42f540b4 ur: fixes buffer over-read bugs in bitstream in tests 2020-08-28 16:04:25 -07:00
Joe Bryan
1ea8e73104 build: adds microbenchmark for virtualized cue 2020-08-28 16:04:25 -07:00
Joe Bryan
f6042e440f u3: removes double atom allocation in u3s_cue_bytes() 2020-08-28 16:04:25 -07:00
Joe Bryan
daf463c4be ur: fixes a buffer over-write in ur_bsr_bytes_any() 2020-08-28 16:04:25 -07:00
Fang
024c16cd97
vere: give up ames scry after successive failures
Instead of giving up on scrying at the first sight of a u3_none result,
keep trying for a little bit. If five scries fail in direct succession,
consider scrying not worth the effort, and stop trying as before.
2020-08-28 15:34:19 +02:00
Fang
d76a5e9077
vere: properly clean up dropped laneless packets
Previously, if ames told us there was no lane for a target, we would
drop the packet, but fail to register this in the queue, or even reclaim
the memory it was using.

Now, we do all the required book-keeping when dropping packets in the
"no lane for this" case.
2020-08-28 12:53:18 +02:00
Joe Bryan
b9fd36e47b u3: removes u3s_cue_smol, hoped-for performance never materialized 2020-08-27 23:45:30 -07:00
Joe Bryan
4eb3e1217e u3: fixes indirect-atom allocation bug in u3s_cue_smol/full 2020-08-27 23:45:30 -07:00
Joe Bryan
851f03294d build: adds jam/cue microbenchmarks (make bench) 2020-08-27 23:45:25 -07:00
Joe Bryan
899f431284 ur: cleans up hashtable grow, adds consistent wipe operations 2020-08-27 23:42:07 -07:00
Joe Bryan
aee89f6a64 ur: removes trailing whitespace in tests 2020-08-27 23:42:07 -07:00
Joe Bryan
5b9c48c3fd u3: adds jam/cue roundtrip tests of new implementations 2020-08-27 23:42:02 -07:00
Joe Bryan
9addb545c0 u3: refactors jam_tests to run all and capture results 2020-08-27 15:14:52 -07:00
Joe Bryan
baf8b884fa u3: adds u3s_jam_xeno() 2020-08-27 15:14:53 -07:00
Joe Bryan
ac7d0731f6 u3: adds u3s_cue_smol/full/bytes/atom 2020-08-27 15:14:32 -07:00
Joe Bryan
dd8a74cea2 u3: replaces u3_serf_uncram with u3u_uncram() 2020-08-27 12:52:19 -07:00
Joe Bryan
24b91af888 u3: refactors _cu_rock_save(), splitting out path/directory format/creation 2020-08-27 12:52:19 -07:00
Joe Bryan
11e7afdefc u3: adds u3s_cue_xeno() 2020-08-27 12:52:19 -07:00
Joe Bryan
1da0c6d353 ur: removes higher-ordered cue traversals 2020-08-26 16:18:55 -07:00
Joe Bryan
e964e4a1fb ur: reimplements ur_cue/_unsafe directly 2020-08-26 16:13:08 -07:00
Joe Bryan
43bd092476 ur: reimplements ur_cue_test() directly 2020-08-26 16:13:08 -07:00
Joe Bryan
6f93ec3aa5 ur: implements ur_dict_get/put, cleans up ur_dict*_t handling 2020-08-26 16:13:08 -07:00
Joe Bryan
0420bf9aa5 ur: adds additional fibonacci constants 2020-08-26 16:13:08 -07:00
Joe Bryan
88f58d3f01 ur: fixes serial.h includes 2020-08-26 16:13:08 -07:00