ENGINE step 4 Phase 2 (plan docs/v4.0.0/plans/2026-11-13-engine-step4-phase2-word-accounts.md). Rulings, Captain Bob 2026-11-13: "ID field in the header"; "Per heartbeat tick"; the ACL "All of it in Phase 4". - The word ID, at xt-4 before the flags (ENGINE.md 3b). The system's words are numbered as they are assembled, by a new directive, #id, (and #ids, the count), in the C assembler (text.c) and in the machine ROM's (capsules/v4/rom), which counts in the system's own (NEXT-ID). (HEADER) numbers later words; FORGET gives back the IDs it frees, always the newest; COLD resets to (BOOT-ID); (SEAL) records it. All 313 system headers carry the cell. - The kernel's records (v4/mesh.h): (TELL-DEFINED) and (TELL-FORGOTTEN), requests -19/-20 on port 0, which the kernel puts in (WORD-DEFINED)/(WORD-FORGOTTEN) when it seals a node, and reads the system's own words once. A bit per address marks a word's xt (calls into the ROM or headerless code are not words); at call, the bit test and a count. v4_mesh_charge hands the owner the calls since. - The Stadium: stadium_words_charge -- N calls as N of stadium_word_dispatch's dispatches, shared by calls when the reservoir is short; sk_v4.c charges every node's words at the tick beside its opcodes, and stadium_word_forget before an ID is used again. - Tests first: test_text.c, test_host_dict.c, test_host_quit.c (numbering, FORGET, COLD), test_mesh_boot.c (44 checks), kernel/tests/test_stadium_words.c; qemu_session.py: Hera's words admitted after POST. - amd64: Stadium words: promotions=141 after POST, CONSERVED; POST 539/539; word_count=377; dict_hash 0xa854ba15b437d288 (the new cell); the boot 142 s against Phase 1's 153 s. - v4 test, test-32: all pass; v4-checks: 80 programs under the sanitizers, 0 failures; the hosted builds alike. docs/reference/v4-dictionary.tsv: the two new words; FABRIC-3 XLVIII.24. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017RzZgrf7V7Zk2iczBXDRbm
131 lines
3.1 KiB
Plaintext
131 lines
3.1 KiB
Plaintext
\ map-64.f18 -- the memory map the system's source is assembled with, 64-bit cells.
|
|
\ Generated by v4/tools/mkmap.c (mkmap sys) from v4/tests/host_map.h -- do not edit.
|
|
constant N-1 63
|
|
constant NODE-ERROR 16382
|
|
constant CONSOLE-TX 16380
|
|
constant CONSOLE-RX 16378
|
|
constant CONSOLE-STATUS 16377
|
|
constant BASE 16376
|
|
constant TIB 63776
|
|
constant >IN 16375
|
|
constant SPAN 16374
|
|
constant WBUF 64856
|
|
constant (P) 16360
|
|
constant DP 16373
|
|
constant (LATEST) 16372
|
|
constant DBASE 32768
|
|
constant DLIMIT 55296
|
|
constant PAD 63656
|
|
constant (D) 16352
|
|
constant (CG) 16336
|
|
constant CG-BSLOTS 3
|
|
constant STATE 16371
|
|
constant (C) 16322
|
|
constant (CFP) 16370
|
|
constant (Q) 14708
|
|
constant (F) 16279
|
|
constant (S) 15812
|
|
constant (W) 16285
|
|
constant (X) 15792
|
|
constant (BOOT) 15750
|
|
constant (NEXT-ID) 15746
|
|
constant (BOOT-ID) 15747
|
|
constant (LOG-LEVEL) 14707
|
|
constant (ACL-HOOK) 14706
|
|
constant SCR 15742
|
|
constant BLK 15743
|
|
constant (SRC) 15744
|
|
constant (SRC-HOOK) 15745
|
|
constant (LINE-STATUS) 14703
|
|
constant (PORT) 14572
|
|
constant (ME) 14699
|
|
constant (CONSOLE) 14696
|
|
constant (ROUTE#) 14695
|
|
constant (ROUTE-DEFAULT) 14694
|
|
constant (LOST) 14693
|
|
constant (PRINT-TO) 14692
|
|
constant (PRINT-PORT) 14679
|
|
constant (DONE-PORT) 14678
|
|
constant (ROUTES) 14616
|
|
constant -PORTS -8
|
|
constant (NEAR) 14648
|
|
constant (AWAIT-FROM) 14673
|
|
constant (WIRE) 14584
|
|
constant (WIRE-A) 14585
|
|
constant (WIRE-B) 14586
|
|
constant (WIRE-DO) 14587
|
|
constant (WIRE-HOW) 14588
|
|
constant (WIRE-HAVE) 14589
|
|
constant (S-HAVE) 14677
|
|
constant (S-MASK) 14676
|
|
constant (S-WIRE) 14675
|
|
constant (S-ON) 14674
|
|
constant (KEEP) 14672
|
|
constant (DEFER) 14671
|
|
constant (D-MASK) 14704
|
|
constant (IN) 14656
|
|
constant (ONE) 14663
|
|
constant (OUT-HDR) 14600
|
|
constant (W-NEED) 14607
|
|
constant (W-PORT) 14608
|
|
constant (P-WAY) 14609
|
|
constant (P-NEED) 14612
|
|
constant (H-PORT) 14613
|
|
constant (H-NEED) 14614
|
|
constant (H-MASK) 14615
|
|
constant (A-SELF) 14610
|
|
constant (SEND^) 14611
|
|
constant (OUT-TEXT) 14248
|
|
constant (SEND-TEXT) 13912
|
|
constant (QUIET) 14702
|
|
constant (REFUSED) 14705
|
|
constant (OUT^) 14698
|
|
constant (REPLY) 14697
|
|
constant (MSG) 14664
|
|
constant (OUT) 14312
|
|
constant (WORD-DEFINED) 14701
|
|
constant (WORD-FORGOTTEN) 14700
|
|
constant BLOCK# -1
|
|
constant BUFFER# -2
|
|
constant UPDATE# -3
|
|
constant SAVE-BUFFERS# -4
|
|
constant EMPTY-BUFFERS# -5
|
|
constant (Q/) 15752
|
|
constant (QE) 15757
|
|
constant (QR) 15765
|
|
constant (QL) 15770
|
|
constant (QT) 15777
|
|
constant (QP) 15783
|
|
constant (DP) 15787
|
|
constant ADDR-DIGITS 16
|
|
constant MSB -9223372036854775808
|
|
constant MAXHI 9223372036854775807
|
|
constant HIMASK 281474976710655
|
|
constant 2N+15 143
|
|
constant N-18 46
|
|
constant N-17 47
|
|
constant MAX-INT 9223372036854775807
|
|
constant HLD 16359
|
|
constant FENCE 16358
|
|
constant CONTEXT 16320
|
|
constant CURRENT 16321
|
|
constant VOC-LINK 16334
|
|
constant HEND 63248
|
|
constant -HFLOOR -63186
|
|
constant DSTACK-DEPTH 16369
|
|
constant RSTACK-DEPTH 16368
|
|
constant HEAT-OP 13824
|
|
constant (EXEC) 14690
|
|
constant (RUNX) 14597
|
|
constant ANTICLOCK 13856
|
|
constant CFBASE 16288
|
|
constant CFEND 16320
|
|
constant ROM-UM* 16384
|
|
constant ROM-UM/MOD 16385
|
|
constant ROM-D+ 16386
|
|
constant ROM-DNEGATE 16387
|
|
constant ROM-Q.* 16388
|
|
constant ROM-Q./ 16389
|
|
constant DICT-W 8192
|
|
constant (IMG) 14593
|