Commit Graph

317 Commits

Author SHA1 Message Date
Joe Bryan
421781652d updates arvo interface to use new axes 2019-01-08 18:17:45 -05:00
Joe Bryan
1d1a259f31 removes old u3r_mug*, switches u3r_mur* to u3r_mug* 2019-01-08 18:13:25 -05:00
Joe Bryan
de3dcee7d5 memoize u3r_mur in temporary gum_w 2019-01-07 23:31:37 -05:00
Joe Bryan
cd96ad658d adds temporary gum_w hash slot to u3_noun 2019-01-07 23:31:37 -05:00
Joe Bryan
1974eca515 uses u3r_mur_bytes in all other u3r_mur* functions 2019-01-07 22:24:42 -05:00
Joe Bryan
30c55e88ab refactors non-zero hash iteration in u3r_mur* 2019-01-07 21:59:25 -05:00
Joe Bryan
f0fdfe118f uncomments/fixes/finishes u3r_mur* functions 2019-01-07 21:57:48 -05:00
Joe Bryan
916223326c don't abort on bail:fail, but continue with crash handling 2018-12-13 23:26:17 -05:00
Joe Bryan
7a172f6860 renames event-timing, adds build option to enable 2018-12-13 20:03:19 -05:00
Joe Bryan
abe21628d5 Merge branch 'release-candidate' into build-compat
* release-candidate: (27 commits)
  Style nits
  [CI] Update arvo
  Add a jet for +del:by
  fit UTF-8 tape bug
  calls u3_raft_work on leader promotion (for eager restart effects)
  removes unused u3v_nick (effect traversal) and u3v_http_request
  refactors event replay, removing unnecessary effect traversal
  refactors event poke, removing unnecessary effect traversal
  trailing whitespace
  adds and corrects some raft comments
  separates effects and persistence
  updates terminal to always 32 bytes on read
  updates ames to always allocate 2K bytes on read
  set alarm for behn timers
  updates u3_raft_work() to be async, adds sync u3_raft_play()
  synchronously processes each event singly
  handles effect/event pairs singly while iterating queue
  factor out raft_pump()
  factored out _raft_crop() and _raft_poke()
  uncouple roe mutation
  ...
2018-12-13 17:22:04 -05:00
Joe Bryan
a9f912cf0b removes preprocessor errors in trace.c on openbsd 2018-12-13 15:49:02 -05:00
Joe Bryan
f18d6cbc10 removes unused u3v_nick (effect traversal) and u3v_http_request 2018-12-12 00:40:04 -05:00
Joseph Bryan
a2a6b7e810 disables tracing exit printf when tracing is off 2018-12-10 21:34:00 -05:00
Joe Bryan
b60e10f149 corrects profiling struct initializations 2018-12-10 12:02:16 -05:00
Joe Bryan
a3bef0f23a prevents 0-byte allocations in u3i_molt() and u3r_mean() 2018-12-08 20:09:23 -05:00
Joe Bryan
0d5beaf774 fixes duplicate assignment in u3v_nick() 2018-12-08 20:09:23 -05:00
Joe Bryan
21224cc359 fixes memory leak in _cj_je_fsck() 2018-12-08 20:09:23 -05:00
Joe Bryan
de29eb602c
Merge pull request #1085 from urbit/boot-pill-userspace
boot with lifecycle-formula, userspace from pill
2018-12-05 13:50:23 -05:00
Elliot Glaysher
36f2152e61 Move more chars. 2018-12-04 16:20:22 -08:00
Elliot Glaysher
ee38b88188 Cleanup 2018-12-04 15:59:33 -08:00
Elliot Glaysher
4a53ebc6c5 Cleanup 2018-12-04 14:48:26 -08:00
Joe Bryan
2ed422e11f boots with lifecycle formula, without persistent kernel formula
removes now-unused vortex functions
2018-12-04 02:54:06 -05:00
Elliot Glaysher
8b9680072a Add support for trace_event files.
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.
2018-12-01 15:54:55 -08:00
Joe Bryan
941f2f72bd removes u3v_keep, updates arvo axes 2018-11-26 17:57:01 -05:00
Elliot Glaysher
356f9fc9ac Shrink preallocation of cells from 262.144 cells to 4.096
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))))
```
2018-11-23 13:05:39 -08:00
Paul Driver
9104ad2acb reap call sites before reaping the warm dashboard
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.
2018-11-20 11:40:11 -08:00
Benjamin Summers
5304a7f255 Fix bail_fail on &33:~ 2018-11-13 16:22:49 -08:00
Benjamin Summers
fa576b00d7 Implemented u3t_boff for Linux. 2018-11-12 12:20:32 -08:00
Paul Driver
55f94d6818 fix reference handling error in _n_reap() 2018-11-09 11:53:14 -08:00
Joe Bryan
63e16f8d64 removes no-op conditional in _cj_site_kick_hot() 2018-11-01 16:16:01 -04:00
Joe Bryan
aa12e760ba fixes profiling of hinted but unjetted arms 2018-11-01 15:04:42 -04:00
Joe Bryan
35bfb49086 Merge branch 'release-candidate' into ames-eth-keys
* 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
  ...
2018-11-01 00:16:20 -04:00
Joe Bryan
b88a2b5062 refactors u3v_wish for clarity 2018-10-28 21:10:25 -04:00
Joe Bryan
7507de1e6c 7. updates %5 to require two subformulas (nock 4K) 2018-10-10 20:20:05 -04:00
Joe Bryan
147941ba07 6. implements edit at %10 (nock 4K) 2018-10-10 19:51:37 -04:00
Joe Bryan
b21b1c6fe1 WIP Merge remote-tracking branch 'fodwyt/edit' into nock-4k
* 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
2018-10-10 19:50:13 -04:00
Joe Bryan
8f42a29933 5. removes %13 and %14 (nock 4K) 2018-10-10 19:26:50 -04:00
Joe Bryan
4d6950d68a 3. implements hint at %11 and wish at %12 (nock 4K) 2018-10-10 18:40:13 -04:00
Joe Bryan
f64b5c8f80 2. removes %10 and %11 (nock 4K) 2018-10-10 18:16:07 -04:00
Joe Bryan
82c89c1696 1. duplicates hint (%10) and wish (%11) at %13 and %14 (nock 4K) 2018-10-10 17:59:50 -04:00
Joe Bryan
9a3608158f adds comments for known-valid u3r_at calls in jets.c 2018-10-03 11:57:00 -04:00
Joe Bryan
1c49b0438a bail %exit in _cj_site_lock if axis is not in core 2018-10-02 19:36:04 -04:00
Joe Bryan
f0524c23f0 Merge branch 'release-candidate' into hashboard
* 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
  ...
2018-10-02 18:25:41 -04:00
Fang
7569f8d8ad Fix issue with trimming >4 character jet names 2018-10-02 15:24:29 -04:00
Joe Bryan
b1f8b79992 adds -S to skip battery hashes 2018-10-02 15:23:35 -04:00
Joe Bryan
8d9f2fac89 fixes u3n_prog pointers in u3n_ream() 2018-10-02 15:15:37 -04:00
Isaac Visintainer
359388a63f bypassed profiling bug 2018-09-27 16:42:43 -07:00
Joe Bryan
89479463e5
Merge pull request #1017 from urbit/fix-jet-name-trim
Fix issue with trimming >4 character jet names
2018-09-07 18:02:50 -04:00
Joe Bryan
ba5e228d78 Merge branch 'https-proxy-config' into ford-turbo-proxy
* https-proxy-config: (92 commits)
  increases tcp proxy listener timeout to 2 minutes
  fixes dumb bug in tcp reverse proxy remote address resolution
  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
  adds u3_wcon (ward candidate conn), refactors ward connection accept and auth
  enables ALPN and HTTP2 over TLS
  increases timeout before server struct, adds explanatory comment
  closes u3_ward stream and timer sequentially, fixing use-after-free per ASan
  moves u3_pact to vere.h, replacing the unused u3_apac
  fixes memory leak in failed cttp.c address resolution
  suppresses AddressSanitizer in vararg functions u3i_molt and u3r_mean
  ignores AddressSanitizer errors in jets.c
  updates %wise and %that to give and receive the proxy auth nonce
  implements nonce-baced authentication for u3_ward proxies
  ...
2018-08-20 22:24:13 -04:00
Joe Bryan
dacb80eef0 Merge branch 'master' into https-proxy-config
* master:
  adds an http request timer to ensure connections are always closed
  moves u3_pact to vere.h, replacing the unused u3_apac
  fixes memory leak in failed cttp.c address resolution
  Remove deprecated paths from gitignore
  print error on failed syscall in _ce_patch_create()
  removes tabs from http.c
  removes orphaned telnet constants and forward declarations
2018-08-09 18:22:53 -04:00