This adds a -j parameter which writes traces of your Urbit's function call
stack to a json file, readable by Chrome's about://tracing or the standalone
trace-viewer webapp.
Everytime a new road is constructed, a new bank of cells is
allocated and initialized. This lead to over three megabytes of
memory being allocated and accessed on each road change. This takes
more than 1ms to complete.
Road changes occur on each virtualization call. Each +soft happens
virtualized; so each +soft call incurs a 1ms delay. The metavase
machinery does at least two (and usually three) softs per card move
meaning sending a card move through arvo usually incurs a 3ms delay.
Before this patch, the following line took six seconds to execute.
Now it is imperceivable:
```
~:(turn (gulf 0 10.000) |=(a=@ud (mule |.(a))))
```
if the warm dashboard is reaped before call sites, the activation
(and thus the label inside the activation) can be freed (during u3h_put)
while a call site in the junior still points to the label (but doesn't hold
a reference to it, since it is on a senior road). trying to take that label
during call site reap then results in a bail: foul.
the solution is to always reap call sites before reaping the warm dashboard.
* release-candidate: (21 commits)
zinc gate casting bug
Bug fix for metal-wrapping runes
converting iron and zinc cores to lead bug
8. updates nock 4K spec
7. updates %5 to require two subformulas (nock 4K)
6. implements edit at %10 (nock 4K)
5. removes %13 and %14 (nock 4K)
4. emits %11 and %12 (nock 4K)
3. implements hint at %11 and wish at %12 (nock 4K)
2. removes %10 and %11 (nock 4K)
1. duplicates hint (%10) and wish (%11) at %13 and %14 (nock 4K)
Disable terminal echo on passcode entry
increased inbound request and ward timeouts to 5 min
mutating edit
bail in _n_edit on invalid path
avoid allocating an atom for _cj_bash
bypass mat and chop directly in jam
small memory leak for large edits
disable hike jet, kill errant and unneccessary mutate-context-sample opcodes
bugfixes
...
* fodwyt/edit:
mutating edit
bail in _n_edit on invalid path
avoid allocating an atom for _cj_bash
bypass mat and chop directly in jam
small memory leak for large edits
disable hike jet, kill errant and unneccessary mutate-context-sample opcodes
bugfixes
first pass at nock 12 impl
* release-candidate: (138 commits)
adds meson option (-Dprof=true) to set U3_CPU_DEBUG
adds meson option (-Dgc=true) to set U3_MEMORY_DEBUG
refactors http card validation
fixes leak in proxy when networking is disabled
fixes leak in _http_serv_start_all
bypassed profiling bug
Eliminate cons optimization.
Remove broken assert.
Clean up some printfs.
increases tcp proxy listener timeout to 2 minutes
fixes dumb bug in tcp reverse proxy remote address resolution
Fix issue with trimming >4 character jet names
upgrades libh2o to v0.13.5 (h2o v2.2.5)
sets the http client request timeout to 2 minutes
adds an http request timer to ensure connections are always closed
adds an http request timer to ensure connections are always closed
adds (disabled) h2o access log
don't leak ship-name in _proxy_ward_connect()
refactors .http.ports write/release (avoid the loom, etc.)
updates SSL_CTX init to support any PEM private key, simplifies error handling
...