Add VM-HEAT primitive: groundwork for a compudynamic turn-attractor (FABRIC-3.md §XIX)
Prompted by reading the std79-doe K report: checked whether the campaign's
"real cross-VM dispatch load" was actually concurrent or strictly
serialized. It's serialized at two levels -- VM-EXEC's vm_interpret(target,
...) is a direct synchronous C call (Hera fully blocked until it returns),
and even the background physics tick (vm_tick(), vm_runtime.c) is driven
by each VM's own execution loop, so idle identities accrue zero ticks
between their own turns. K's perfect conservation (FABRIC-3.md §XVIII)
verifies sequential per-VM accounting correctness, not concurrent-access
safety, since there was never concurrent access to test.
Agreed direction: fix this without a scheduler, by reusing the same
least-dense-candidate judgment stadium_admit() already trusts for
eviction, applied to "whose turn is next" instead of "who gets evicted" --
a fleet-level turn-attractor giving the next turn to whichever live
identity currently has the lowest execution_heat_q48, no fixed round-robin,
no priorities, no preemption. Lives beside Stadium in
capsule_vm_physics.c (already the fleet-level consumer of Stadium
primitives, e.g. the K mechanism itself), not inside stadium.c ("the
floor" -- residency/eviction, a different concern from turn order) and
not a new subsystem.
This pass lands only the primitive the mechanism needs: VM-HEAT
( c-addr u -- heat-q48 ), pushing a named VM's current
execution_heat_q48 via vm_physics_heat_of() -- previously C-internal
only (doe_log_heat_by_name(), doe_log.c), never exposed to FORTH. Silent
0 on an unknown/dead name (no print/error), since a turn-attractor
scanning many candidates every turn shouldn't have to filter console
noise for names that simply aren't live. Registered everywhere
VM-EXEC/VM-CALL already are. Builds clean on all three architectures;
live-tested on amd64: Hera -> 65452, Hermes -> 43, unknown name -> 0, no
faults.
The turn-attractor loop itself (std79-doe.fth's trial ordering) is not
yet built -- next step, not done here.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EXieurDfDSsDFdnSyusuWo
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
238ca95b3c
commit
5a9425b91b
+62
@@ -2692,3 +2692,65 @@ wire (same interleaving effect as §XVII's write-up, just landing on a different
|
|||||||
unaffected either way, since the K result does not depend on trial attribution being correct at
|
unaffected either way, since the K result does not depend on trial attribution being correct at
|
||||||
all.
|
all.
|
||||||
|
|
||||||
|
## XIX. VM-HEAT primitive: groundwork for a compudynamic turn-attractor (2026-09-12)
|
||||||
|
|
||||||
|
**The real null hypothesis behind §XVIII's K result.** Reading the report prompted the right
|
||||||
|
question: was execution actually concurrent across the 9 live identity VMs, or strictly
|
||||||
|
serialized? Checked against the code, not assumed: `VM-EXEC` (`mama_word_vm_exec`,
|
||||||
|
`mama_forth_words.c`) calls `vm_interpret(target, cmd_buf)` directly on Hera's own call stack --
|
||||||
|
a synchronous C call, not a thread or coroutine switch. Hera is fully blocked until the target
|
||||||
|
VM's interpretation returns; exactly one VM's FORTH code executes at any instant. Worse, even
|
||||||
|
the *background* physics tick is not uniform across the fleet: `vm_tick()` (`vm_runtime.c`) is
|
||||||
|
called from *each VM's own* execution loop, driven by *that VM's own* word dispatch -- its own
|
||||||
|
doc comment already documents this as a previously-fixed bug (fleet physics used to gate on
|
||||||
|
Hera's tick count specifically and "almost never fired, since Hera-as-orchestrator mostly blocks
|
||||||
|
on VM-EXEC/VM-CALL dispatch that accrues to the target VM's tick count, not hers"). Net effect:
|
||||||
|
while VM A holds the turn, the other 8 identities accrue *zero* ticks and call `vm_tick()` *zero*
|
||||||
|
times -- completely dormant between their own turns, not just "not currently executing a word."
|
||||||
|
|
||||||
|
**What this means for §XVIII's result.** K's perfect conservation verifies that each individual
|
||||||
|
admit/evict/reservoir-transfer event was internally correct across many sequential events on 9
|
||||||
|
different VMs. It is **not** evidence about concurrent-access safety, because there was never any
|
||||||
|
concurrent access for it to be evidence of -- at any instant at most one VM's heat is changing,
|
||||||
|
everything else is static, so the fleet sum staying constant is a real check on the *sequential*
|
||||||
|
accounting, not a stronger claim about contention. Worth being honest about rather than letting
|
||||||
|
the report's "real cross-VM dispatch load" phrasing be read as implying more than it tested.
|
||||||
|
|
||||||
|
**Design direction agreed with Captain Bob: fix the gap without a scheduler.** A fixed
|
||||||
|
round-robin across identities would just be a different hardcoded policy -- not in the spirit of
|
||||||
|
a runtime whose whole design principle is finding its own attractors rather than being told what
|
||||||
|
to do. The chosen direction instead reuses a judgment this codebase already trusts elsewhere:
|
||||||
|
`stadium_admit()` picks the least-dense (coolest) resident as its eviction candidate when a
|
||||||
|
quota is full. Turn allocation is the same kind of decision -- "whose turn is next" instead of
|
||||||
|
"who gets evicted" -- so the plan is a fleet-level turn-attractor that gives the next turn to
|
||||||
|
whichever live identity VM currently has the lowest `execution_heat_q48`, not a fixed sequence
|
||||||
|
position. A VM idle longer becomes relatively cooler and naturally rises to the front; a VM
|
||||||
|
mid-burst stays hot and cedes turns. No priority levels, no time slices, no preemption -- the
|
||||||
|
same density comparison Stadium already uses, applied to "who goes next."
|
||||||
|
|
||||||
|
**Scoping: not the floor, not a parking lot, not a new subsystem.** `stadium.c` is "the floor"
|
||||||
|
in this project's own vocabulary (patrons "leave the floor" when reaped) -- its job is residency
|
||||||
|
and eviction, not turn order, so this doesn't belong inside it. `capsule_vm_physics.c` already
|
||||||
|
is the fleet-level layer that sits next to Stadium and consumes its primitives without living
|
||||||
|
inside `stadium.c` itself (it's exactly how the K mechanism, §XVIII, is built) -- a turn-attractor
|
||||||
|
reading per-VM heat to pick the coolest candidate is precisely the kind of fleet-wide decision
|
||||||
|
this file already exists to make. No new subsystem needed.
|
||||||
|
|
||||||
|
**Groundwork landed this pass: `VM-HEAT ( c-addr u -- heat-q48 )`** (`mama_forth_words.c`,
|
||||||
|
registered in all three places `VM-EXEC`/`VM-CALL` already are -- Hera's root vocabulary, her
|
||||||
|
MAMA vocabulary, and `register_child_vm_words()`). Pushes the named VM's current
|
||||||
|
`execution_heat_q48` via `vm_physics_heat_of()` -- previously C-internal only
|
||||||
|
(`doe_log_heat_by_name()`, `doe_log.c`), never exposed to FORTH. Silent 0 on an unknown/dead
|
||||||
|
name (no print, no error) -- a turn-attractor scanning many candidate names every turn shouldn't
|
||||||
|
have to filter console noise for names that simply aren't live. Builds clean, zero warnings, on
|
||||||
|
all three architectures; live-tested on amd64 (single boot, zuse only): `S" Hera" VM-HEAT .` -->
|
||||||
|
`65452`, `S" Hermes" VM-HEAT .` --> `43`, `S" NoSuchVM" VM-HEAT .` --> `0`, all as expected, no
|
||||||
|
faults.
|
||||||
|
|
||||||
|
**Not yet built: the turn-attractor loop itself.** This pass added only the primitive
|
||||||
|
(`VM-HEAT`) the mechanism needs, not the mechanism -- `std79-doe.fth`'s trial loop still runs
|
||||||
|
each of the 27 shuffled (identity, replicate) cells to completion in shuffle order, unchanged
|
||||||
|
from §XV. The actual heat-driven "coolest live identity goes next" turn loop, and re-verifying
|
||||||
|
the whole campaign (including whether K still holds under genuinely interleaved multi-VM
|
||||||
|
contention, which is the actual point of building this) is the next step, not done here.
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
# Capsule Block Manifest — Auto-generated
|
# Capsule Block Manifest — Auto-generated
|
||||||
<!-- Generated by mkcapsule --manifest 2026-09-12T17:15:30Z -->
|
<!-- Generated by mkcapsule --manifest 2026-09-12T18:51:37Z -->
|
||||||
<!-- DO NOT EDIT — re-run mkcapsule --manifest to refresh. -->
|
<!-- DO NOT EDIT — re-run mkcapsule --manifest to refresh. -->
|
||||||
<!-- Hand-written justifications and immutability notes live -->
|
<!-- Hand-written justifications and immutability notes live -->
|
||||||
<!-- in MANIFEST.md alongside this auto-generated index. -->
|
<!-- in MANIFEST.md alongside this auto-generated index. -->
|
||||||
|
|||||||
Binary file not shown.
@@ -1,259 +0,0 @@
|
|||||||
tick_number,elapsed_ns,tick_interval_ns,cache_hits_delta,bucket_hits_delta,word_executions_delta,hot_word_count,avg_word_heat_q48,window_width,actual_window_size,predicted_label_hits,jitter_bits,apic_ticks,time_trust_q48,variance_q48,vm_call_depth_max,hera_heat_q48,hermes_heat_q48,artemis_heat_q48,fleet_k_q48,fleet_conserved
|
|
||||||
101,1010000,10000,0,0,256,61,52,1024,1024,0,0,13516,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
102,1020000,10000,0,0,256,61,53,512,512,0,0,13518,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
103,1030000,10000,0,0,256,62,54,512,512,0,0,13520,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
104,1040000,10000,0,0,256,64,55,256,256,0,0,13521,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
105,1050000,10000,0,0,256,68,56,256,256,0,0,13523,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
106,1060000,10000,0,0,256,68,57,256,256,0,0,13526,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
107,1070000,10000,0,0,256,68,58,256,256,0,0,13528,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
108,1080000,10000,0,0,256,68,60,256,256,0,0,13530,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
109,1090000,10000,0,0,256,68,61,256,256,0,0,13532,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
110,1100000,10000,0,0,256,68,62,256,256,0,0,13534,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
111,1110000,10000,0,0,256,68,63,256,256,0,0,13536,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
112,1120000,10000,0,0,256,69,64,256,256,0,0,13539,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
113,1130000,10000,0,0,256,69,65,256,256,0,0,13542,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
114,1140000,10000,0,0,256,69,66,256,256,0,0,13544,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
115,1150000,10000,0,0,256,69,67,256,256,0,0,13546,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
116,1160000,10000,0,0,256,69,69,256,256,0,0,13549,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
117,1170000,10000,0,0,256,69,70,256,256,0,0,13551,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
631,6310000,5140000,0,0,138004,32,2626,256,256,0,4707266306531917824,13557,40216,41261,0,41886,11515,12135,65536,1
|
|
||||||
118,1180000,18446744073704421616,0,0,22715,69,71,256,256,0,4895412794951726642,13560,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
119,1190000,10000,0,0,256,69,72,256,256,0,0,13562,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
120,1200000,10000,0,0,256,69,75,256,256,0,0,13563,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
121,1210000,10000,0,0,256,69,84,256,256,0,0,13565,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
122,1220000,10000,0,0,256,69,85,256,256,0,0,13568,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
123,1230000,10000,0,0,256,70,85,256,256,0,0,13570,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
124,1240000,10000,0,0,256,70,85,256,256,0,0,13571,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
125,1250000,10000,0,0,256,70,86,256,256,0,0,13572,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
126,1260000,10000,0,0,256,70,92,256,256,0,0,13575,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
127,1270000,10000,0,0,256,70,95,256,256,0,0,13577,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
128,1280000,10000,0,0,256,70,96,256,256,0,0,13579,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
129,1290000,10000,0,0,256,70,104,256,256,0,0,13581,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
130,1300000,10000,0,0,256,70,104,256,256,0,0,13582,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
131,1310000,10000,0,0,256,68,107,256,256,0,0,13584,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
132,1320000,10000,0,0,256,68,109,256,256,0,0,13586,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
133,1330000,10000,0,0,256,68,111,256,256,0,0,13588,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
134,1340000,10000,0,0,256,68,126,256,256,0,0,13590,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
135,1350000,10000,0,0,256,68,128,256,256,0,0,13592,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
136,1360000,10000,0,0,256,68,177,256,256,0,0,13599,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
137,1370000,10000,0,0,256,68,193,256,256,0,0,13601,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
138,1380000,10000,0,0,256,66,195,256,256,0,0,13603,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
139,1390000,10000,0,0,256,65,203,256,256,0,0,13606,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
140,1400000,10000,0,0,256,65,205,256,256,0,0,13608,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
141,1410000,10000,0,0,256,65,207,256,256,0,0,13610,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
142,1420000,10000,0,0,256,65,216,256,256,0,0,13612,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
143,1430000,10000,0,0,256,65,220,256,256,0,0,13614,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
144,1440000,10000,0,0,256,65,227,256,256,0,0,13616,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
145,1450000,10000,0,0,256,65,234,256,256,0,0,13617,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
146,1460000,10000,0,0,256,65,237,256,256,0,0,13619,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
147,1470000,10000,0,0,256,65,253,256,256,0,0,13621,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
148,1480000,10000,0,0,256,65,244,256,256,0,0,13625,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
149,1490000,10000,0,0,256,65,237,256,256,0,0,13627,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
150,1500000,10000,0,0,256,65,232,256,256,0,0,13630,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
151,1510000,10000,0,0,256,65,228,256,256,0,0,13633,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
152,1520000,10000,0,0,256,65,230,256,256,0,0,13635,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
153,1530000,10000,0,0,256,65,226,256,256,0,0,13637,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
154,1540000,10000,0,0,256,65,224,256,256,0,0,13639,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
155,1550000,10000,0,0,256,65,234,256,256,0,0,13641,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
156,1560000,10000,0,0,256,65,237,256,256,0,0,13645,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
157,1570000,10000,0,0,256,65,244,256,256,0,0,13646,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
736,7360000,5790000,0,0,154654,30,3408,256,256,0,4707964238717517824,13653,40216,41261,0,41886,11515,12135,65536,1
|
|
||||||
158,1580000,18446744073703771616,0,0,32955,65,248,256,256,0,4895412794951726325,13655,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
159,1590000,10000,0,0,256,65,253,256,256,0,0,13657,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
160,1600000,10000,0,0,256,65,319,256,256,0,0,13659,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
161,1610000,10000,0,0,256,65,322,256,256,0,0,13661,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
162,1620000,10000,0,0,256,65,350,256,256,0,0,13663,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
163,1630000,10000,0,0,256,65,316,256,256,0,0,13671,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
164,1640000,10000,0,0,256,65,326,256,256,0,0,13673,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
165,1650000,10000,0,0,256,65,334,256,256,0,0,13676,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
166,1660000,10000,0,0,256,65,337,256,256,0,0,13678,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
167,1670000,10000,0,0,256,65,340,256,256,0,0,13680,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
168,1680000,10000,0,0,256,65,343,256,256,0,0,13682,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
169,1690000,10000,0,0,256,65,346,256,256,0,0,13684,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
170,1700000,10000,0,0,256,65,349,256,256,0,0,13686,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
171,1710000,10000,0,0,256,65,356,256,256,0,0,13688,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
172,1720000,10000,0,0,256,65,364,256,256,0,0,13692,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
173,1730000,10000,0,0,256,64,386,256,256,0,0,13695,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
174,1740000,10000,0,0,256,64,365,256,256,0,0,13698,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
175,1750000,10000,0,0,256,64,359,256,256,0,0,13701,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
176,1760000,10000,0,0,256,64,345,256,256,0,0,13704,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
177,1770000,10000,0,0,256,64,332,256,256,0,0,13706,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
178,1780000,10000,0,0,256,64,328,256,256,0,0,13708,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
179,1790000,10000,0,0,256,64,324,256,256,0,0,13710,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
180,1800000,10000,0,0,256,64,313,256,256,0,0,13712,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
181,1810000,10000,0,0,256,64,312,256,256,0,0,13716,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
182,1820000,10000,0,0,256,63,314,256,256,0,0,13718,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
183,1830000,10000,0,0,256,63,317,256,256,0,0,13721,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
184,1840000,10000,0,0,256,63,322,256,256,0,0,13724,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
185,1850000,10000,0,0,256,63,328,256,256,0,0,13726,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
186,1860000,10000,0,0,256,63,411,256,256,0,0,13728,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
187,1870000,10000,0,0,256,63,414,256,256,0,0,13729,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
290,2900000,1030000,0,0,32730,37,973,256,256,0,4697008945376526336,13736,40216,41261,0,41886,11515,12135,65536,1
|
|
||||||
188,1880000,18446744073708531616,0,0,40635,62,452,256,256,0,4895412794951728649,13738,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
189,1890000,10000,0,0,256,62,456,256,256,0,0,13740,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
190,1900000,10000,0,0,256,62,459,256,256,0,0,13742,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
191,1910000,10000,0,0,256,62,406,256,256,0,0,13745,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
192,1920000,10000,0,0,256,62,409,256,256,0,0,13747,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
193,1930000,10000,0,0,256,62,412,256,256,0,0,13749,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
194,1940000,10000,0,0,256,62,415,256,256,0,0,13751,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
195,1950000,10000,0,0,256,62,418,256,256,0,0,13753,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
196,1960000,10000,0,0,256,62,426,256,256,0,0,13761,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
197,1970000,10000,0,0,256,62,434,256,256,0,0,13763,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
198,1980000,10000,0,0,256,62,443,256,256,0,0,13765,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
199,1990000,10000,0,0,256,62,476,256,256,0,0,13768,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
200,2000000,10000,0,0,256,62,479,256,256,0,0,13771,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
201,2010000,10000,0,0,256,62,452,256,256,0,0,13774,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
202,2020000,10000,0,0,256,62,455,256,256,0,0,13776,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
203,2030000,10000,0,0,256,62,458,256,256,0,0,13779,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
204,2040000,10000,0,0,256,62,461,256,256,0,0,13781,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
205,2050000,10000,0,0,256,62,464,256,256,0,0,13784,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
206,2060000,10000,0,0,256,62,467,256,256,0,0,13786,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
207,2070000,10000,0,0,256,62,470,256,256,0,0,13787,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
526,5260000,3190000,0,0,88077,33,2018,256,256,0,4704083409348067328,13795,40216,41261,0,41886,11515,12135,65536,1
|
|
||||||
208,2080000,18446744073706371616,0,0,45755,62,480,256,256,0,4895412794951727594,13797,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
209,2090000,10000,0,0,256,60,489,256,256,0,0,13799,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
210,2100000,10000,0,0,256,60,485,256,256,0,0,13802,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
211,2110000,10000,0,0,256,60,489,256,256,0,0,13803,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
212,2120000,10000,0,0,256,60,498,256,256,0,0,13807,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
213,2130000,10000,0,0,256,60,502,256,256,0,0,13809,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
214,2140000,10000,0,0,256,59,555,256,256,0,0,13811,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
215,2150000,10000,0,0,256,59,558,256,256,0,0,13812,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
216,2160000,10000,0,0,256,59,562,256,256,0,0,13814,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
855,8550000,6390000,0,0,169933,31,3145,256,256,0,4708608483811917824,13823,40216,41261,0,41886,11515,12135,65536,1
|
|
||||||
217,2170000,18446744073703171616,0,0,48059,59,542,256,256,0,4895412794951726032,13825,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
218,2180000,10000,0,0,256,59,524,256,256,0,0,13828,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
219,2190000,10000,0,0,256,59,527,256,256,0,0,13832,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
220,2200000,10000,0,0,256,59,530,256,256,0,0,13834,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
221,2210000,10000,0,0,256,59,534,256,256,0,0,13837,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
222,2220000,10000,0,0,256,59,544,256,256,0,0,13839,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
223,2230000,10000,0,0,256,59,555,256,256,0,0,13842,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
224,2240000,10000,0,0,256,59,558,256,256,0,0,13844,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
225,2250000,10000,0,0,256,58,585,256,256,0,0,13852,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
226,2260000,10000,0,0,256,58,588,256,256,0,0,13855,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
227,2270000,10000,0,0,256,58,646,256,256,0,0,13857,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
228,2280000,10000,0,0,256,59,556,256,256,0,0,13861,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
229,2290000,10000,0,0,256,59,559,256,256,0,0,13863,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
230,2300000,10000,0,0,256,59,562,256,256,0,0,13866,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
231,2310000,10000,0,0,256,59,566,256,256,0,0,13868,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
232,2320000,10000,0,0,256,59,569,256,256,0,0,13870,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
233,2330000,10000,0,0,256,59,572,256,256,0,0,13873,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
198,1980000,18446744073709201616,0,0,49560,40,613,256,256,0,4895412794951728976,13875,40216,41261,0,41886,11515,12135,65536,1
|
|
||||||
234,2340000,360000,0,0,2851,59,575,256,256,0,4689756566679715840,13877,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
235,2350000,10000,0,0,256,59,602,256,256,0,0,13880,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
236,2360000,10000,0,0,256,59,614,256,256,0,0,13882,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
237,2370000,10000,0,0,256,59,617,256,256,0,0,13885,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
238,2380000,10000,0,0,256,58,604,256,256,0,0,13889,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
239,2390000,10000,0,0,256,58,607,256,256,0,0,13892,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
240,2400000,10000,0,0,256,58,619,256,256,0,0,13896,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
241,2410000,10000,0,0,256,58,622,256,256,0,0,13899,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
242,2420000,10000,0,0,256,58,626,256,256,0,0,13903,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
243,2430000,10000,0,0,256,58,629,256,256,0,0,13906,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
244,2440000,10000,0,0,256,58,632,256,256,0,0,13909,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
245,2450000,10000,0,0,256,58,636,256,256,0,0,13911,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
246,2460000,10000,0,0,256,58,639,256,256,0,0,13913,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
247,2470000,10000,0,0,256,58,642,256,256,0,0,13916,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
248,2480000,10000,0,0,256,58,645,256,256,0,0,13919,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
249,2490000,10000,0,0,256,58,649,256,256,0,0,13921,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
250,2500000,10000,0,0,256,58,652,256,256,0,0,13923,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
251,2510000,10000,0,0,256,58,684,256,256,0,0,13926,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
252,2520000,10000,0,0,256,58,687,256,256,0,0,13929,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
253,2530000,10000,0,0,256,58,755,256,256,0,0,13936,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
254,2540000,10000,0,0,256,58,759,256,256,0,0,13938,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
255,2550000,10000,0,0,256,58,669,256,256,0,0,13941,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
256,2560000,10000,0,0,256,58,672,256,256,0,0,13944,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
257,2570000,10000,0,0,256,58,675,256,256,0,0,13946,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
258,2580000,10000,0,0,256,58,679,256,256,0,0,13949,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
259,2590000,10000,0,0,256,58,682,256,256,0,0,13952,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
260,2600000,10000,0,0,256,58,685,256,256,0,0,13955,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
261,2610000,10000,0,0,256,58,698,256,256,0,0,13956,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
262,2620000,10000,0,0,256,58,711,256,256,0,0,13959,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
263,2630000,10000,0,0,256,58,715,256,256,0,0,13962,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
93,930000,18446744073707851616,0,0,22674,53,213,256,256,0,4895412794951728317,13969,40216,41261,0,41886,11515,12135,65536,1
|
|
||||||
264,2640000,1710000,0,0,37417,58,750,256,256,0,4700052256123256832,13972,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
265,2650000,10000,0,0,256,58,754,256,256,0,0,13975,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
266,2660000,10000,0,0,256,58,705,256,256,0,0,13977,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
267,2670000,10000,0,0,256,58,709,256,256,0,0,13979,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
268,2680000,10000,0,0,256,58,712,256,256,0,0,13981,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
269,2690000,10000,0,0,256,58,715,256,256,0,0,13983,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
270,2700000,10000,0,0,256,58,719,256,256,0,0,13985,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
271,2710000,10000,0,0,256,58,722,256,256,0,0,13987,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
272,2720000,10000,0,0,256,57,726,256,256,0,0,13988,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
273,2730000,10000,0,0,256,57,729,256,256,0,0,13991,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
274,2740000,10000,0,0,256,56,743,256,256,0,0,13993,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
275,2750000,10000,0,0,256,56,756,256,256,0,0,13996,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
276,2760000,10000,0,0,256,56,739,256,256,0,0,13999,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
277,2770000,10000,0,0,256,56,742,256,256,0,0,14002,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
278,2780000,10000,0,0,256,56,746,256,256,0,0,14005,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
737,7370000,4590000,0,0,123829,35,2594,256,256,0,4706675748528717824,14011,40216,41261,0,41886,11515,12135,65536,1
|
|
||||||
279,2790000,18446744073704971616,0,0,63931,54,816,256,256,0,4895412794951726911,14013,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
280,2800000,10000,0,0,256,54,819,256,256,0,0,14016,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
281,2810000,10000,0,0,256,54,823,256,256,0,0,14018,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
282,2820000,10000,0,0,256,54,827,256,256,0,0,14027,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
283,2830000,10000,0,0,256,54,831,256,256,0,0,14030,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
284,2840000,10000,0,0,256,54,776,256,256,0,0,14033,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
285,2850000,10000,0,0,256,54,769,256,256,0,0,14037,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
286,2860000,10000,0,0,256,54,772,256,256,0,0,14039,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
287,2870000,10000,0,0,256,54,775,256,256,0,0,14042,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
288,2880000,10000,0,0,256,54,790,256,256,0,0,14046,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
289,2890000,10000,0,0,256,54,793,256,256,0,0,14048,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
290,2900000,10000,0,0,256,54,831,256,256,0,0,14050,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
291,2910000,10000,0,0,256,54,834,256,256,0,0,14054,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
292,2920000,10000,0,0,256,54,917,256,256,0,0,14061,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
293,2930000,10000,0,0,256,54,922,256,256,0,0,14063,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
294,2940000,10000,0,0,256,54,926,256,256,0,0,14066,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
295,2950000,10000,0,0,256,54,802,256,256,0,0,14071,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
296,2960000,10000,0,0,256,54,805,256,256,0,0,14074,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
408,4080000,1120000,0,0,35060,35,1391,256,256,0,4697518225418616832,14080,40216,41261,0,41886,11515,12135,65536,1
|
|
||||||
297,2970000,18446744073708441616,0,0,68539,54,809,256,256,0,4895412794951728605,14084,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
298,2980000,10000,0,0,256,54,812,256,256,0,0,14087,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
299,2990000,10000,0,0,256,54,816,256,256,0,0,14090,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
300,3000000,10000,0,0,256,54,842,256,256,0,0,14092,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
301,3010000,10000,0,0,256,54,857,256,256,0,0,14094,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
302,3020000,10000,0,0,256,54,861,256,256,0,0,14097,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
303,3030000,10000,0,0,256,54,917,256,256,0,0,14099,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
304,3040000,10000,0,0,256,54,843,256,256,0,0,14101,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
305,3050000,10000,0,0,256,54,871,256,256,0,0,14104,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
306,3060000,10000,0,0,256,54,875,256,256,0,0,14108,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
307,3070000,10000,0,0,256,54,878,256,256,0,0,14111,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
308,3080000,10000,0,0,256,54,882,256,256,0,0,14113,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
309,3090000,10000,0,0,256,54,885,256,256,0,0,14115,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
310,3100000,10000,0,0,256,54,889,256,256,0,0,14117,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
311,3110000,10000,0,0,256,53,906,256,256,0,0,14120,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
312,3120000,10000,0,0,256,53,909,256,256,0,0,14122,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
313,3130000,10000,0,0,256,53,912,256,256,0,0,14124,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
314,3140000,10000,0,0,256,53,916,256,256,0,0,14126,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
315,3150000,10000,0,0,256,53,920,256,256,0,0,14128,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
316,3160000,10000,0,0,256,53,980,256,256,0,0,14130,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
317,3170000,10000,0,0,256,53,984,256,256,0,0,14132,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
318,3180000,10000,0,0,256,53,1088,256,256,0,0,14133,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
319,3190000,10000,0,0,256,53,1092,256,256,0,0,14135,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
320,3200000,10000,0,0,256,53,1096,256,256,0,0,14136,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
321,3210000,10000,0,0,256,53,941,256,256,0,0,14139,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
322,3220000,10000,0,0,256,53,944,256,256,0,0,14141,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
323,3230000,10000,0,0,256,53,948,256,256,0,0,14143,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
324,3240000,10000,0,0,256,53,952,256,256,0,0,14150,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
325,3250000,10000,0,0,256,53,955,256,256,0,0,14153,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
326,3260000,10000,0,0,256,53,973,256,256,0,0,14155,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
327,3270000,10000,0,0,256,53,991,256,256,0,0,14157,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
328,3280000,10000,0,0,256,53,995,256,256,0,0,14159,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
329,3290000,10000,0,0,256,53,1062,256,256,0,0,14161,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
330,3300000,10000,0,0,256,53,1002,256,256,0,0,14164,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
331,3310000,10000,0,0,256,53,976,256,256,0,0,14168,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
332,3320000,10000,0,0,256,53,980,256,256,0,0,14171,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
333,3330000,10000,0,0,256,53,984,256,256,0,0,14173,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
334,3340000,10000,0,0,256,53,987,256,256,0,0,14177,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
632,6320000,2980000,0,0,82603,37,2253,256,256,0,4703632437781987328,14184,40216,41261,0,41886,11515,12135,65536,1
|
|
||||||
335,3350000,18446744073706581616,0,0,78267,53,991,256,256,0,4895412794951727697,14186,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
336,3360000,10000,0,0,256,53,994,256,256,0,0,14188,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
337,3370000,10000,0,0,256,53,998,256,256,0,0,14190,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
338,3380000,10000,0,0,256,53,1002,256,256,0,0,14191,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
339,3390000,10000,0,0,256,53,1005,256,256,0,0,14194,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
340,3400000,10000,0,0,256,53,1008,256,256,0,0,14196,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
341,3410000,10000,0,0,256,53,1012,256,256,0,0,14198,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
342,3420000,10000,0,0,256,53,1078,256,256,0,0,14200,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
343,3430000,10000,0,0,256,53,1082,256,256,0,0,14201,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
344,3440000,10000,0,0,256,53,1196,256,256,0,0,14204,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
345,3450000,10000,0,0,256,53,1200,256,256,0,0,14206,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
527,5270000,1820000,0,0,52899,37,1850,256,256,0,4700524702525816832,14209,40216,41261,0,41886,11515,12135,65536,1
|
|
||||||
346,3460000,18446744073707741616,0,0,81083,53,1204,256,256,0,4895412794951728263,14212,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
347,3470000,10000,0,0,256,53,1209,256,256,0,0,14215,40216,41261,1,41886,11515,12135,65536,1
|
|
||||||
|
|||||||
|
File diff suppressed because it is too large
Load Diff
@@ -865,6 +865,53 @@ static void mama_word_vm_call(VM *vm)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief VM-HEAT ( c-addr u -- heat-q48 )
|
||||||
|
* Push the named VM's current execution_heat_q48 (Q48.16, 0 if the VM is
|
||||||
|
* unknown/dead), via vm_physics_heat_of() -- previously C-internal only
|
||||||
|
* (doe_log_heat_by_name(), doe_log.c), never exposed to FORTH. Added
|
||||||
|
* 2026-09-12 for a compudynamic turn-attractor (FABRIC-3.md §XIX): "whose
|
||||||
|
* turn is next" decided by comparing live candidates' own current heat via
|
||||||
|
* this word, the same density-comparison judgment stadium_admit() already
|
||||||
|
* makes for eviction, rather than a fixed round-robin order. Silent on an
|
||||||
|
* unknown name (returns 0, does not print/error) -- callers scanning many
|
||||||
|
* VM names each turn to find the coolest one should not have to filter
|
||||||
|
* console noise for names that are simply not currently live.
|
||||||
|
*/
|
||||||
|
static void mama_word_vm_heat(VM *vm)
|
||||||
|
{
|
||||||
|
char vm_name[VM_NAME_MAX];
|
||||||
|
uint32_t i;
|
||||||
|
cell_t vm_u, vm_caddr;
|
||||||
|
const char *src;
|
||||||
|
VMRegistryEntry entry;
|
||||||
|
|
||||||
|
if (vm->dsp < 1) { vm->error = 1; return; }
|
||||||
|
|
||||||
|
vm_u = vm_pop(vm);
|
||||||
|
vm_caddr = vm_pop(vm);
|
||||||
|
|
||||||
|
if (vm_u <= 0 || (uint32_t)vm_u >= VM_NAME_MAX) {
|
||||||
|
vm_push(vm, 0);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
const uint8_t *p = vm_ptr(vm, (vaddr_t)vm_caddr);
|
||||||
|
if (!p) { vm->error = 1; return; }
|
||||||
|
src = (const char *)p;
|
||||||
|
}
|
||||||
|
for (i = 0; i < (uint32_t)vm_u; i++) vm_name[i] = src[i];
|
||||||
|
vm_name[vm_u] = '\0';
|
||||||
|
|
||||||
|
if (capsule_vm_find_by_name_nocase(vm_name, &entry) != 0) {
|
||||||
|
vm_push(vm, 0);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
vm_push(vm, (cell_t)vm_physics_heat_of(entry.vm_id));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief MINT ( -- ok? )
|
* @brief MINT ( -- ok? )
|
||||||
* Mint a fresh identity onto the currently attached USB drive
|
* Mint a fresh identity onto the currently attached USB drive
|
||||||
@@ -1586,6 +1633,7 @@ void register_mama_forth_words(VM *vm)
|
|||||||
register_word(vm, "VM-STEP", mama_word_vm_step);
|
register_word(vm, "VM-STEP", mama_word_vm_step);
|
||||||
register_word(vm, "VM-EXEC", mama_word_vm_exec);
|
register_word(vm, "VM-EXEC", mama_word_vm_exec);
|
||||||
register_word(vm, "VM-CALL", mama_word_vm_call);
|
register_word(vm, "VM-CALL", mama_word_vm_call);
|
||||||
|
register_word(vm, "VM-HEAT", mama_word_vm_heat);
|
||||||
register_word(vm, "CAPSULE-TEST", mama_word_capsule_test);
|
register_word(vm, "CAPSULE-TEST", mama_word_capsule_test);
|
||||||
|
|
||||||
/* Create and switch to MAMA vocabulary */
|
/* Create and switch to MAMA vocabulary */
|
||||||
@@ -1623,6 +1671,7 @@ void register_mama_forth_words(VM *vm)
|
|||||||
register_word(vm, "VM-STEP", mama_word_vm_step);
|
register_word(vm, "VM-STEP", mama_word_vm_step);
|
||||||
register_word(vm, "VM-EXEC", mama_word_vm_exec);
|
register_word(vm, "VM-EXEC", mama_word_vm_exec);
|
||||||
register_word(vm, "VM-CALL", mama_word_vm_call);
|
register_word(vm, "VM-CALL", mama_word_vm_call);
|
||||||
|
register_word(vm, "VM-HEAT", mama_word_vm_heat);
|
||||||
register_word(vm, "CAPSULE-TEST", mama_word_capsule_test);
|
register_word(vm, "CAPSULE-TEST", mama_word_capsule_test);
|
||||||
register_word(vm, "EXEC", mama_word_exec);
|
register_word(vm, "EXEC", mama_word_exec);
|
||||||
|
|
||||||
@@ -1837,6 +1886,7 @@ void register_child_vm_words(VM *vm)
|
|||||||
register_word(vm, "EXEC", mama_word_exec);
|
register_word(vm, "EXEC", mama_word_exec);
|
||||||
register_word(vm, "VM-EXEC", mama_word_vm_exec);
|
register_word(vm, "VM-EXEC", mama_word_vm_exec);
|
||||||
register_word(vm, "VM-CALL", mama_word_vm_call);
|
register_word(vm, "VM-CALL", mama_word_vm_call);
|
||||||
|
register_word(vm, "VM-HEAT", mama_word_vm_heat);
|
||||||
/* USE (FABRIC-2.md §F.24): not console-specific -- any VM can
|
/* USE (FABRIC-2.md §F.24): not console-specific -- any VM can
|
||||||
* redirect the physical REPL to any other VM it has ACL access to
|
* redirect the physical REPL to any other VM it has ACL access to
|
||||||
* (BINDSTEP re-verifies on every call, §F.9), including a console
|
* (BINDSTEP re-verifies on every call, §F.9), including a console
|
||||||
|
|||||||
Reference in New Issue
Block a user