Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
73 commits
Select commit Hold shift + click to select a range
0cf3a2d
gw/secp: add priv-to-pub jets
Dec 11, 2024
ad533b2
Add point tweak, compressed points
cyclomancer Jan 14, 2025
61d6fa7
king: use struct u3_ship
Mar 25, 2025
0b274a3
mesa: move u3_peer and per_map to mesa.h
Mar 25, 2025
b06961e
mesa: move sun state into u3_mesa, extract into ames/stun
Mar 25, 2025
3fbb67d
disk: change who_d -> who_u
Mar 25, 2025
cd2dabe
ames: remove u3_lane
Mar 27, 2025
78a00cd
ames: bugfixes
Mar 27, 2025
3ccf6f4
ames: more bug fixes
Mar 27, 2025
b82a7de
ames: move ames to subdriver
Mar 29, 2025
bfde35d
zif/ames-reform: driver hax improvement
Mar 29, 2025
47cf475
ames: shared peer state between ames and mesa, dns in peer state
Apr 2, 2025
a5e562a
ames: fully qualified domains
Apr 2, 2025
ee32953
ames: no longer a linked io driver
Apr 3, 2025
eb3efee
ames: natpmp into subdriver
Apr 3, 2025
af82ef5
ames: cleanup
Apr 3, 2025
3a72007
ames: fix _ames_cmp_turfs and add %fief effect
Apr 4, 2025
4f13232
ames: non-czar turfs should come with port
Apr 4, 2025
64c43d1
Merge remote-tracking branch 'origin/develop' into zif/ames-reform-merge
Apr 5, 2025
ca38887
ames: lamp fixes
Apr 6, 2025
bad6e92
ames: fix _realise_lane for indirect atoms
Apr 7, 2025
a6921af
ames: more comet fixes
Apr 7, 2025
36a823b
mesa: c3n initialize lam_o
Apr 7, 2025
bf313ed
ames: fix uv_close cleanup for mesa, set lam_o on %fief
Apr 8, 2025
2f473a6
ames: refcount packet buffers
Apr 9, 2025
782b742
ames: update lanes on hear callbacks, auto: add u3_ovum_exit news
Apr 9, 2025
391f0b4
mesa: move gauge to peer struct
Apr 9, 2025
58ee752
mesa: fix local networking
Apr 11, 2025
31bf1cb
mesa: always fetch lanes and sponsors in _meet_peer
Apr 13, 2025
9bce352
mesa: fix fetching saxo and lane state
Apr 14, 2025
67dea08
ames: fix forward lane discovery
Apr 20, 2025
373166e
Merge branch 'gw/secp' into ames-reform-proper
tinnus-napbus Sep 3, 2025
256e137
Merge remote-tracking branch 'origin/develop' into nov/suite-c
Sep 10, 2025
101bcc8
otw to fake comets
Oct 9, 2025
08e8e3a
gw: fake comets
tinnus-napbus Oct 10, 2025
053f8ca
Merge branch 'develop' into tinnus-suite-c-merge
tinnus-napbus Oct 26, 2025
1b0ba58
gw: fix merge errors
tinnus-napbus Oct 29, 2025
0f25529
Merge branch 'develop' into tinnus-suite-c-merge
tinnus-napbus Oct 30, 2025
31acef0
gw: add --jael-sources
tinnus-napbus Nov 10, 2025
59c8c92
Merge branch 'next/kelvin/408' into tinnus-suite-c-merge
tinnus-napbus Feb 9, 2026
cd436ca
vere: stage hoon kelvin decrement
Fang- Nov 6, 2025
bb91151
jets: new loot jet for 135
Fang- Nov 13, 2025
7ce2583
Merge branch 'ur/next/kelvin/408' into gw/next/kelvin/408
bonbud-macryg Feb 23, 2026
5b7f077
io, main: fix merge errors
bonbud-macryg Feb 23, 2026
23c805b
gw: main.c: add -W gateway arg
Feb 22, 2026
bbc41d7
gw: make dawn gateway http scries work
Feb 23, 2026
68f390d
gw: dawn & mars fix typos
Feb 24, 2026
0b2c556
ames: remove 'send ip' terminal spam
bonbud-macryg Mar 4, 2026
7cc900c
dawn: add unsafe_dawn preprocessor conditional, update ivory pill
tinnus-napbus Mar 24, 2026
1502d8e
ford: add memo bucket for ford
midden-fabler Aug 29, 2025
b39d456
noun: add mass for ford cache
midden-fabler Sep 8, 2025
cfc060f
noun: handle ford cache in u3m_love
midden-fabler Sep 8, 2025
5c7bd7b
melt: gc ford cache
midden-fabler Sep 8, 2025
8abe710
mars: trim ford cache
midden-fabler Sep 8, 2025
65afe99
zave: remove ford print
midden-fabler Sep 19, 2025
0bedbcd
manage: initialize ford cache
midden-fabler Nov 12, 2025
89bfd15
Merge branch 'develop' into mf/lightning
dozreg-toplud Nov 25, 2025
cbcfb24
%drop hint to free ford cache
dozreg-toplud Nov 25, 2025
06bb689
u3m_hate/love symmetry
dozreg-toplud Nov 26, 2025
81cb3d3
comment
dozreg-toplud Nov 26, 2025
800ed1f
allocate, manage: back out drop hint changes
midden-fabler Dec 1, 2025
3dd2f8c
trace: spin stack for windows
dozreg-toplud Feb 22, 2026
e4db9df
trace: capitalize globals
dozreg-toplud Feb 23, 2026
19f600c
make u3m_stop reachable
dozreg-toplud Feb 19, 2026
35d06c8
manage: only mars sets global stk_u
dozreg-toplud Feb 22, 2026
228a6f8
manage: single stop
dozreg-toplud Feb 22, 2026
dd3725b
main: set default value of gab_abort, gc-abort flag for play, grab
dozreg-toplud Feb 28, 2026
eff564b
mesa: update rtt and rtv only if we are not resending
pkova Mar 4, 2026
3ebb672
manage: detect downgrades by inspecting fut_w on boot
dozreg-toplud Feb 26, 2026
06d40ca
build: bump VERSION to 4.4
pkova Mar 5, 2026
c29f7d4
misc: merge conflicts part 3
midden-fabler Mar 9, 2026
11041f0
mesa: use loobean check in conditional
yosoyubik Mar 30, 2026
dcc6e41
mesa: add missing c3_w to u3_gage
bonbud-macryg Apr 6, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 12 additions & 1 deletion build.zig
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ const CdbGenStep = struct {
}
};

const VERSION = "4.3";
const VERSION = "4.4";

const main_targets: []const std.Target.Query = &[_]std.Target.Query{
.{ .cpu_arch = .aarch64, .os_tag = .macos, .abi = null },
Expand Down Expand Up @@ -105,6 +105,7 @@ const BuildCfg = struct {
c3dbg: bool = false,
snapshot_validation: bool = false,
urth_mass: bool = false,
unsafe_dawn: bool = false,
ubsan: bool = false,
asan: bool = false,
tracy_enable: bool = false,
Expand Down Expand Up @@ -169,6 +170,12 @@ pub fn build(b: *std.Build) !void {
"Enable |mass in urth process (-DU3_URTH_MASS)",
) orelse false;

const unsafe_dawn = b.option(
bool,
"unsafe-dawn",
"Enable unsafe dawn code paths (-Dunsafe_dawn)",
) orelse false;

const binary_name = b.option(
[]const u8,
"binary-name",
Expand Down Expand Up @@ -231,6 +238,7 @@ pub fn build(b: *std.Build) !void {
.c3dbg = c3dbg,
.snapshot_validation = snapshot_validation,
.urth_mass = urth_mass,
.unsafe_dawn = unsafe_dawn,
.asan = asan,
.ubsan = ubsan,
.tracy_enable = tracy_enable,
Expand Down Expand Up @@ -360,6 +368,9 @@ fn buildBinary(
if (cfg.urth_mass)
try urbit_flags.appendSlice(&.{"-DU3_URTH_MASS"});

if (cfg.unsafe_dawn)
try urbit_flags.appendSlice(&.{"-Dunsafe_dawn"});

if (cfg.tracy_enable) {
try urbit_flags.appendSlice(&.{"-DTRACY_ENABLE"});
if (cfg.tracy_callstack) {
Expand Down
5 changes: 3 additions & 2 deletions ext/urcrypt/build.zig.zon
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,9 @@
.hash = "N-V-__8AAJ4DSwC7aDpt90TmGPWKAI6q4-titwp4M0zsZ2vY",
},
.urcrypt = .{
.url = "https://github.com/urbit/urcrypt/archive/465aad6262f2710f76f75adfe74effb5751c5ab3.tar.gz",
.hash = "N-V-__8AAL3OSQDA9xQasK60FkxcKuQoSANeWy_f9SxmxX1X",
.path = "../../../urcrypt",
//.url = "https://github.com/urbit/urcrypt/archive/465aad6262f2710f76f75adfe74effb5751c5ab3.tar.gz",
//.hash = "N-V-__8AAL3OSQDA9xQasK60FkxcKuQoSANeWy_f9SxmxX1X",
},
},
.paths = .{
Expand Down
2 changes: 2 additions & 0 deletions pkg/c3/defs.h
Original file line number Diff line number Diff line change
Expand Up @@ -283,4 +283,6 @@ c3_align_p(void const * p, size_t al, align_dir hilo) {
#define c3_likely(x) ( __builtin_expect(!!(x), 1) )
#define c3_unlikely(x) ( __builtin_expect(!!(x), 0) )

#define c3_array_len(arr) ( sizeof(arr) / sizeof(arr[0]) )

#endif /* ifndef C3_DEFS_H */
2 changes: 2 additions & 0 deletions pkg/c3/motes.h
Original file line number Diff line number Diff line change
Expand Up @@ -420,6 +420,7 @@
# define c3__fent c3_s4('f','e','n','t')
# define c3__ferd c3_s4('f','e','r','d')
# define c3__fhex c3_s4('f','h','e','x')
# define c3__fief c3_s4('f','i','e','f')
# define c3__file c3_s4('f','i','l','e')
# define c3__film c3_s4('f','i','l','m')
# define c3__find c3_s4('f','i','n','d')
Expand Down Expand Up @@ -452,6 +453,7 @@
# define c3__fond c3_s4('f','o','n','d')
# define c3__for c3_s3('f','o','r')
# define c3__forb c3_s4('f','o','r','b')
# define c3__ford c3_s4('f','o','r','d')
# define c3__fore c3_s4('f','o','r','e')
# define c3__fork c3_s4('f','o','r','k')
# define c3__form c3_s4('f','o','r','m')
Expand Down
43 changes: 24 additions & 19 deletions pkg/noun/allocate.c
Original file line number Diff line number Diff line change
Expand Up @@ -1660,7 +1660,7 @@ u3a_print_quac(FILE* fil_u, c3_w den_w, u3m_quac* mas_u)
u3m_quac*
u3a_mark_road()
{
u3m_quac** qua_u = c3_malloc(sizeof(*qua_u) * 15);
u3m_quac** qua_u = c3_malloc(sizeof(*qua_u) * 16);

qua_u[0] = c3_calloc(sizeof(*qua_u[0]));
qua_u[0]->nam_c = strdup("namespace");
Expand Down Expand Up @@ -1695,11 +1695,15 @@ u3a_mark_road()
qua_u[7]->siz_w = u3h_mark(u3R->cax.per_p) * 4;

qua_u[8] = c3_calloc(sizeof(*qua_u[8]));
qua_u[8]->nam_c = strdup("page directory");
qua_u[8]->siz_w = u3a_mark_ptr(u3a_into(u3R->hep.pag_p)) * 4;
qua_u[8]->nam_c = strdup("ford memoization cache");
qua_u[8]->siz_w = u3h_mark(u3R->cax.for_p) * 4;

qua_u[9] = c3_calloc(sizeof(*qua_u[9]));
qua_u[9]->nam_c = strdup("cell pool");
qua_u[9]->nam_c = strdup("page directory");
qua_u[9]->siz_w = u3a_mark_ptr(u3a_into(u3R->hep.pag_p)) * 4;

qua_u[10] = c3_calloc(sizeof(*qua_u[10]));
qua_u[10]->nam_c = strdup("cell pool");

{
u3_post *cel_p;
Expand All @@ -1714,11 +1718,11 @@ u3a_mark_road()
}
}

qua_u[9]->siz_w = cel_w * 4;
qua_u[10]->siz_w = cel_w * 4;
}

qua_u[10] = c3_calloc(sizeof(*qua_u[10]));
qua_u[10]->nam_c = strdup("free list");
qua_u[11] = c3_calloc(sizeof(*qua_u[11]));
qua_u[11]->nam_c = strdup("free list");

{
u3a_dell *fre_u = u3tn(u3a_dell, u3R->hep.fre_p);
Expand All @@ -1733,11 +1737,11 @@ u3a_mark_road()
fre_w += u3a_mark_ptr(u3a_into(u3R->hep.cac_p));
}

qua_u[10]->siz_w = fre_w * 4;
qua_u[11]->siz_w = fre_w * 4;
}

qua_u[11] = c3_calloc(sizeof(*qua_u[11]));
qua_u[11]->nam_c = strdup("metadata");
qua_u[12] = c3_calloc(sizeof(*qua_u[12]));
qua_u[12]->nam_c = strdup("metadata");

{
c3_w wee_w = 0;
Expand All @@ -1746,18 +1750,18 @@ u3a_mark_road()
wee_w += u3a_Mark.wee_w[i_w];
}

qua_u[11]->siz_w = wee_w * 4;
qua_u[12]->siz_w = wee_w * 4;
}

qua_u[12] = c3_calloc(sizeof(*qua_u[12]));
qua_u[12]->nam_c = strdup("loop hint set");
qua_u[12]->siz_w = u3h_mark(u3R->lop_p) * 4;

qua_u[13] = c3_calloc(sizeof(*qua_u[13]));
qua_u[13]->nam_c = strdup("timer stack");
qua_u[13]->siz_w = u3a_mark_noun(u3R->tim) * 4;

qua_u[14] = NULL;
qua_u[13]->nam_c = strdup("loop hint set");
qua_u[13]->siz_w = u3h_mark(u3R->lop_p) * 4;

qua_u[14] = c3_calloc(sizeof(*qua_u[14]));
qua_u[14]->nam_c = strdup("timer stack");
qua_u[14]->siz_w = u3a_mark_noun(u3R->tim) * 4;

qua_u[15] = NULL;

c3_w sum_w = 0;
for (c3_w i_w = 0; qua_u[i_w]; i_w++) {
Expand Down Expand Up @@ -1798,6 +1802,7 @@ u3a_rewrite_compact(void)
u3a_relocate_noun(&(u3R->tim));
u3h_relocate(&(u3R->cax.har_p));
u3h_relocate(&(u3R->cax.per_p));
u3h_relocate(&(u3R->cax.for_p));
u3h_relocate(&(u3R->lop_p));
}

Expand Down
3 changes: 2 additions & 1 deletion pkg/noun/allocate.h
Original file line number Diff line number Diff line change
Expand Up @@ -211,6 +211,7 @@ STATIC_ASSERT( u3a_vits <= u3a_min_log,
struct { // memoization caches
u3p(u3h_root) har_p; // transient
u3p(u3h_root) per_p; // persistent
u3p(u3h_root) for_p; // ford
} cax;
} u3a_road;
typedef u3a_road u3_road;
Expand All @@ -219,7 +220,7 @@ STATIC_ASSERT( u3a_vits <= u3a_min_log,
*/
enum u3a_flag {
u3a_flag_sand = 1 << 1, // bump allocation (XX not impl)
u3a_flag_cash = 1 << 2, // memo cache harvesting
u3a_flag_cash = 1 << 2, // memo cache harvesting, flows forward
};

/* u3a_pile: stack control, abstracted over road direction.
Expand Down
3 changes: 3 additions & 0 deletions pkg/noun/build.zig
Original file line number Diff line number Diff line change
Expand Up @@ -392,6 +392,8 @@ const c_source_files = [_][]const u8{
"jets/tree.c",
"jets/137/tree.c",
"jets/136/tree.c",
"jets/136/loot.c",
"jets/135/tree.c",
"log.c",
"manage.c",
"palloc.c",
Expand All @@ -417,6 +419,7 @@ const install_headers = [_][]const u8{
"jets/k.h",
"jets/q.h",
"jets/w.h",
"jets/136/w.h",
"log.h",
"manage.h",
"nock.h",
Expand Down
22 changes: 14 additions & 8 deletions pkg/noun/jets.c
Original file line number Diff line number Diff line change
Expand Up @@ -895,23 +895,29 @@ _cj_kick_z(u3_noun cor, u3j_core* cop_u, u3j_harm* ham_u, u3_atom axe)
u3z(cor);
return pro;
}
ham_u->liv = c3n;
//ham_u->liv = c3n;
ame = _cj_soft(cor, axe);
ham_u->liv = c3y;
//ham_u->liv = c3y;

if ( c3n == u3r_sing(ame, pro) ) {
u3l_log("test: %s %s: mismatch: good %x, bad %x",
//u3l_log("test: %s %s: mismatch: good %x, bad %x",
// cop_u->cos_c,
// (!strcmp(".2", ham_u->fcs_c)) ? "$" : ham_u->fcs_c,
// u3r_mug(ame),
// u3r_mug(pro));
//ham_u->liv = c3n;
u3l_log("test: %s %s: mismatch",
cop_u->cos_c,
(!strcmp(".2", ham_u->fcs_c)) ? "$" : ham_u->fcs_c,
u3r_mug(ame),
u3r_mug(pro));
ham_u->liv = c3n;
(!strcmp(".2", ham_u->fcs_c)) ? "$" : ham_u->fcs_c
);
u3m_p("good", ame);
u3m_p("baad", pro);

return u3m_bail(c3__fail);
}
else {

#if 0
#if 1
u3l_log("test: %s %s",
cop_u->cos_c,
(!strcmp(".2", ham_u->fcs_c)) ? "$" : ham_u->fcs_c);
Expand Down
Loading