Commit Graph

13987 Commits

Author SHA1 Message Date
Joe Bryan
82d5738df4 vere: adds dedicated replay command: play 2022-12-14 17:47:40 -05:00
Joe Bryan
67ef11117f vere: updates command docs 2022-12-14 17:47:39 -05:00
Joe Bryan
c15b822087 mars: adds replay implementation 2022-12-14 17:47:39 -05:00
Joe Bryan
a5362f2af0 vere: ports u3_disk_read_list() 2022-12-14 17:47:39 -05:00
Joe Bryan
9daab2fd5a vere: ports synchronous event log iterator 2022-12-14 17:47:33 -05:00
Joe Bryan
99a8ccda7b vere: ports synchronous lmdb iterator 2022-12-14 17:47:33 -05:00
Joe Bryan
91f7818ab7 vere: factors out sift/etch functions event serialization 2022-12-14 17:47:33 -05:00
Joe Bryan
5a775d1c79 u3: ports meld measurement printfs 2022-12-14 17:47:33 -05:00
Joe Bryan
fdafdf1f12 u3: ports new arvo invocations for boot and +poke 2022-12-14 17:47:33 -05:00
Joe Bryan
535c49d2db u3: factors out |mass-style memory measurement 2022-12-14 17:47:33 -05:00
Joe Bryan
5d4142eff8 u3: ports minor noun/ cleanup 2022-12-14 17:47:21 -05:00
Joe Bryan
a8dadedebf vere: bumps version 2022-12-13 11:22:13 -05:00
Joe Bryan
af8607fde4 u3: adds comments to road pave implementations 2022-12-13 00:23:47 -05:00
Joe Bryan
ebf0ab49af u3: adds facade for u3e_ward(), refactors watermarks 2022-12-13 00:23:47 -05:00
Joe Bryan
973cea6d91 u3: refactors u3e_save() facade and watermark calculations 2022-12-13 00:23:47 -05:00
Joe Bryan
c3821c3325 u3: adds facade for u3e_fault(), refactors error handling 2022-12-13 00:23:45 -05:00
Joe Bryan
d043a42128 u3: reimplements guard page w/out posts 2022-12-13 00:09:09 -05:00
Joe Bryan
4659b92d26 u3: factors out individual page protections 2022-12-13 00:09:01 -05:00
Joe Bryan
9fe6f3dde0 u3: refactors loom protect-south page-length calculation
blah
2022-12-13 00:07:56 -05:00
Joe Bryan
e378b497cb u3: fixes compile-time conditionals around guard page impl 2022-12-13 00:07:55 -05:00
Joe Bryan
54e591b719 u3: simplifies u3e_live() signature 2022-12-13 00:07:55 -05:00
Joe Bryan
12229a50e8 u3: adds snapshot facade to manage.c 2022-12-13 00:07:52 -05:00
Joe Bryan
5726f08da8 u3: simplifies road stack adjustment after snapshot load 2022-12-09 23:41:45 -05:00
Joe Bryan
f5fdaa2781 u3: automatically place the guard page in u3e_live() 2022-12-09 23:41:45 -05:00
Joe Bryan
39d0250afa u3: move directory creation out of events.c 2022-12-09 23:41:42 -05:00
Joe Bryan
bceb9cde4a u3: stop using u3P.dir_c outside of events.c 2022-12-09 23:41:42 -05:00
Joe Bryan
4620212260 u3: removes u3e_foul() 2022-12-09 23:41:38 -05:00
Joe Bryan
1ac2264a49 test: renames nock-tests to meme-tests 2022-12-02 22:58:07 -05:00
Joe Bryan
7870024df9 test: re-disables failing grq test 2022-12-02 16:56:00 -05:00
Joe Bryan
95a2e06f44 test: re-disables ames decryption test to avoid bail:evil in ci 2022-12-02 16:55:08 -05:00
Joe Bryan
15c4ae7fa7 u3: updates guard-page assertion to account for variable loom sizes 2022-12-02 16:54:27 -05:00
Joe Bryan
5693c965dc u3: protect guard page if necessary after reprotecting loom 2022-12-02 16:39:18 -05:00
Joe Bryan
66c54ad392 u3: protect guard page if necessary after remapping loom 2022-12-02 16:34:34 -05:00
Joe Bryan
e981901b69 Merge branch 'jb/restage/demand' into jb/release/vere 2022-12-02 16:16:33 -05:00
Joe Bryan
ff81dbc62b
Merge pull request #6125 from urbit/jb/ward-safely
u3: ensure a single guard page
2022-12-02 16:13:52 -05:00
Joe Bryan
331c20bb9b
Merge pull request #6121 from urbit/ja/openbsd-7.2-fix
vere: updates whereami dep to support OpenBSD
2022-12-02 16:11:38 -05:00
Joe Bryan
9d34ff6fba
Merge pull request #6108 from urbit/philip/willoc-comment
u3: add comment explaining willoc logic
2022-12-02 15:08:57 -05:00
Joe Bryan
62a575f63e u3: switch page size constants to macros to avoid VLAs 2022-12-02 11:55:30 -05:00
Joe Bryan
a7022e75a0 u3: enforce snapshot invariants on segment truncation 2022-12-02 10:27:38 -05:00
Joe Bryan
c111129a5e u3: adds new, batch page tracking implementations + tests 2022-12-02 10:27:35 -05:00
Joe Bryan
d1d1860ac7 u3: cleanup comments about snapshot system limitations 2022-12-02 10:27:32 -05:00
Joe Bryan
fee50375c9 u3: document snapshot system invariants 2022-12-02 10:27:29 -05:00
James Acklin
775e3715ba vere: updates whereami dep to support OpenBSD
fixes urbit/urbit#6100
2022-12-02 08:38:21 -05:00
Joe Bryan
7ca9ebaa4d u3: updates memory protections and page metadata when moving guard page 2022-11-30 18:24:21 -05:00
Philip Monk
a90c85023c u3: add comment explaining willoc logic 2022-11-28 16:49:07 -07:00
Joe Bryan
ea6f239811 Merge tag 'urbit-v1.13' into jb/restage/demand
urbit-v1.13

Arvo 417K
Vere 1.13

This release makes the loom variably sized, up to a new maximum of 4GB.
The default remains 2GB -- opt for the max with `--loom 32`.
(NB: larger sizes may require adding swap space.)

Release Notes

- supports setting the loom size on startup. sizes are specified in
  exponents of 2, from 1MB (20) to 4GB (32); can differ between processes
  (`--loom` and `--urth-loom`); and can be set for relevant subcommands
  (`meld`, `pack`, `next`, &c).

- improves bit-slice performance (for noun de/serialization and many atom jets)
  by ensuring that implementation inner loops can be vectorized.

- adds the `vile` command, for exporting the keyfile from a ship

- adds the `%xray` hint, for printing the bytecode of a given expression
  (ty ~topfet-parmed!)

- adds the `eval` command, for running hoon (from stdin) without booting a ship
  (ty ~mopfel-winrux!)

- adds a better error message when a ship is already running as root
  (ty ~dinleb-rambep!)

Contributions:

Joe Bryan (48):
      u3: use size_t in u3m_init()
      u3: normalize home-road stack after snapshot restoration
      u3: refactors custom allocator init for libraries
      bump
      vere: make `prep` and `next` commands non-interactive (no tty required)
      Merge pull request #5928 from urbit/jb/upgrade-no-tty
      u3: remove references to u3a_bits/u3a_bytes/words/pages
      u3: makes loom length configurable
      u3: improves image-related error messages in events
      Merge branch 'master' into next/vere
      u3: suppress bail:evil printf
      Merge pull request #5959 from urbit/jb/silence-evil
      ur: optimizes bitstream bytes-writer implementation
      ur: optimizes bitstream bytes-reader implementation
      Revert "test: move _test_lily into noun_tests"
      u3: rewrites u3r_chop(), optimizing bloq sizes < 5
      u3: removes loom byte-length in favor of recalculation
      Merge pull request #5957 from mopfel-winrux/eval
      vere: style clean for eval cmd
      Merge branch 'jb/hotfix' into jb/fix
      Merge branch 'jb/hotfix' into jb/fix
      Merge branch 'jb/hotfix' into jb/fix
      Merge branch 'jb/hotfix' into jb/fix
      Merge branch 'jb/hotfix' into jb/fix
      Merge tag 'urbit-v1.12' into jb/fix
      Merge commit 'f94875f9ce^2' into jb/release/vere
      Merge commit '264e63330f^2' into jb/release/vere
      u3: backports u3v_soft_peek()
      vere: adds %vile command for extracting keys
      Merge commit '330db284e8^2' into jb/release/vere
      Merge branch 'master' into jb/release/vere
      test: bump loom to 16MB in jam tests
      u3: restages #6001 for release
      u3: adds loom size to u3m_boot() / u3m_boot_lite()
      vere: adds args to set mars/urth looms by binary exponent
      Merge branch 'jb/restage/loom-set' into jb/release/vere
      vere: supports --loom for all relevant subcommands
      Merge branch 'jb/loom-everywhere' into jb/release/vere
      Merge branch 'jb/release/vere' into jb/restage/chop-fast
      u3: bumps maximum reference bits on all platforms
      vere: preserve 2GB defaults for --loom and --loom-urth
      Merge branch 'jb/restage/chop-fast' into jb/release/vere
      Merge branch 'jb/restage/bump' into jb/release/vere
      Merge branch 'jb/fix' into jb/release/vere
      vere: bumps version
      vere: bumps benchmarks to 16MB loom, initializes guard page
      vere: supports --loom in eval cmd
      vere: bumps version

DaneBettis (22):
      Adds %meme and %xray hints.
      adds xray test, reorders tests, fixes sanity checks
      more notes and debugging for xray
      more xray debugs via ~master-morzod
      more xray debugs thanks to ~master-morzod
      partial fix for indexed bytecode args; more to come
      silenced the broken hoon tests
      cleaner expression and docs
      added macro to clarify _slog_bytecode and cleaned hoon hint tests
      first cleanup from meeting with master-morzod
      this branch PR is now for xray only. meme later.
      minimize the diff
      taming int declarations
      docs, tammed ints, better var names, removed redundant funcs
      fixes suggested by master-morzod, and finished int taming
      make _is_indexed() more obvious and less cute
      remove dev-time modifications to manage.c
      WIP stuff re master-morzod
      more refactoring as suggested by master-morzod
      corrected private function names and block comments
      fixed names of vars to follow cvc_TypeLetter style
      simplified xray callsites and rendering

mopfel-winrux (15):
      Added option to run the eval it checks for and prints whatever you pass it as an arguement
      Added basic nock increment evaulation to eval function
      Got basic hoon command compiling and executing
      Fixed a double boot_lite
      Added vase and stack trace wrapper to input, run hoo in virutalization
      added ability to read from stdin rather than being passed an arguement
      changed up how we are executing hoon. This fixes the issue we see with rpevious versions
      cleaned up code
      merged to master fixed conflict in motes.h
      fixed a few of the issues ~master-morzod pointed out
      changed error messages when booting the ivory pill
      changed how the stdin is concatenated. this version should have less memory leaks
      fixed memory leak and cleaned up style
      removed unneeded checks
      Merge branch 'urbit:master' into eval

pkova (1):
      vere: check for permission error on old process kill
2022-11-23 11:24:49 -05:00
Joe Bryan
2e57625e26 Merge tag 'urbit-v1.13' into jb/restage/pread-all
urbit-v1.13

Arvo 417K
Vere 1.13

This release makes the loom variably sized, up to a new maximum of 4GB.
The default remains 2GB -- opt for the max with `--loom 32`.
(NB: larger sizes may require adding swap space.)

Release Notes

- supports setting the loom size on startup. sizes are specified in
  exponents of 2, from 1MB (20) to 4GB (32); can differ between processes
  (`--loom` and `--urth-loom`); and can be set for relevant subcommands
  (`meld`, `pack`, `next`, &c).

- improves bit-slice performance (for noun de/serialization and many atom jets)
  by ensuring that implementation inner loops can be vectorized.

- adds the `vile` command, for exporting the keyfile from a ship

- adds the `%xray` hint, for printing the bytecode of a given expression
  (ty ~topfet-parmed!)

- adds the `eval` command, for running hoon (from stdin) without booting a ship
  (ty ~mopfel-winrux!)

- adds a better error message when a ship is already running as root
  (ty ~dinleb-rambep!)

Contributions:

Joe Bryan (48):
      u3: use size_t in u3m_init()
      u3: normalize home-road stack after snapshot restoration
      u3: refactors custom allocator init for libraries
      bump
      vere: make `prep` and `next` commands non-interactive (no tty required)
      Merge pull request #5928 from urbit/jb/upgrade-no-tty
      u3: remove references to u3a_bits/u3a_bytes/words/pages
      u3: makes loom length configurable
      u3: improves image-related error messages in events
      Merge branch 'master' into next/vere
      u3: suppress bail:evil printf
      Merge pull request #5959 from urbit/jb/silence-evil
      ur: optimizes bitstream bytes-writer implementation
      ur: optimizes bitstream bytes-reader implementation
      Revert "test: move _test_lily into noun_tests"
      u3: rewrites u3r_chop(), optimizing bloq sizes < 5
      u3: removes loom byte-length in favor of recalculation
      Merge pull request #5957 from mopfel-winrux/eval
      vere: style clean for eval cmd
      Merge branch 'jb/hotfix' into jb/fix
      Merge branch 'jb/hotfix' into jb/fix
      Merge branch 'jb/hotfix' into jb/fix
      Merge branch 'jb/hotfix' into jb/fix
      Merge branch 'jb/hotfix' into jb/fix
      Merge tag 'urbit-v1.12' into jb/fix
      Merge commit 'f94875f9ce^2' into jb/release/vere
      Merge commit '264e63330f^2' into jb/release/vere
      u3: backports u3v_soft_peek()
      vere: adds %vile command for extracting keys
      Merge commit '330db284e8^2' into jb/release/vere
      Merge branch 'master' into jb/release/vere
      test: bump loom to 16MB in jam tests
      u3: restages #6001 for release
      u3: adds loom size to u3m_boot() / u3m_boot_lite()
      vere: adds args to set mars/urth looms by binary exponent
      Merge branch 'jb/restage/loom-set' into jb/release/vere
      vere: supports --loom for all relevant subcommands
      Merge branch 'jb/loom-everywhere' into jb/release/vere
      Merge branch 'jb/release/vere' into jb/restage/chop-fast
      u3: bumps maximum reference bits on all platforms
      vere: preserve 2GB defaults for --loom and --loom-urth
      Merge branch 'jb/restage/chop-fast' into jb/release/vere
      Merge branch 'jb/restage/bump' into jb/release/vere
      Merge branch 'jb/fix' into jb/release/vere
      vere: bumps version
      vere: bumps benchmarks to 16MB loom, initializes guard page
      vere: supports --loom in eval cmd
      vere: bumps version

DaneBettis (22):
      Adds %meme and %xray hints.
      adds xray test, reorders tests, fixes sanity checks
      more notes and debugging for xray
      more xray debugs via ~master-morzod
      more xray debugs thanks to ~master-morzod
      partial fix for indexed bytecode args; more to come
      silenced the broken hoon tests
      cleaner expression and docs
      added macro to clarify _slog_bytecode and cleaned hoon hint tests
      first cleanup from meeting with master-morzod
      this branch PR is now for xray only. meme later.
      minimize the diff
      taming int declarations
      docs, tammed ints, better var names, removed redundant funcs
      fixes suggested by master-morzod, and finished int taming
      make _is_indexed() more obvious and less cute
      remove dev-time modifications to manage.c
      WIP stuff re master-morzod
      more refactoring as suggested by master-morzod
      corrected private function names and block comments
      fixed names of vars to follow cvc_TypeLetter style
      simplified xray callsites and rendering

mopfel-winrux (15):
      Added option to run the eval it checks for and prints whatever you pass it as an arguement
      Added basic nock increment evaulation to eval function
      Got basic hoon command compiling and executing
      Fixed a double boot_lite
      Added vase and stack trace wrapper to input, run hoo in virutalization
      added ability to read from stdin rather than being passed an arguement
      changed up how we are executing hoon. This fixes the issue we see with rpevious versions
      cleaned up code
      merged to master fixed conflict in motes.h
      fixed a few of the issues ~master-morzod pointed out
      changed error messages when booting the ivory pill
      changed how the stdin is concatenated. this version should have less memory leaks
      fixed memory leak and cleaned up style
      removed unneeded checks
      Merge branch 'urbit:master' into eval

pkova (1):
      vere: check for permission error on old process kill
2022-11-23 11:24:27 -05:00
Joe Bryan
dac240bdfa vere: bumps version 2022-11-23 10:38:02 -05:00
Joe Bryan
2e861dafcf vere: supports --loom in eval cmd 2022-11-22 15:38:15 -05:00
Joe Bryan
670ebc8f8c vere: bumps benchmarks to 16MB loom, initializes guard page 2022-11-22 15:23:29 -05:00