diff options
| author | 2026-10-15 02:34:57 +0330 | |
|---|---|---|
| committer | 2026-10-15 02:40:51 +0330 | |
| commit | 4ff9e3b89fa1dca5d5981a22e5d41ac5f36ad11d (patch) | |
| tree | 9bfe048a3719072864713c0d561ad3ce970ab25c /README.md | |
| parent | merge work/triage: zc0typed.zc without .u on a typed parameter; a //:lines ma... (diff) | |
genmap: default genome reservation 0x70000 words (the genome had 197 words left); the map constants in rt.zc and the README table move by 0x8000; gc.zc's reclaim bound is 900 (937 with the heap higher, 952 before) and the run-only section rewrites whatever its number
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 12 |
1 files changed, 6 insertions, 6 deletions
@@ -574,12 +574,12 @@ the initial layout reserves code, compiler tables, the genome, and stacks below 0x080000..0x08FFFF type records (65536 words) 0x090000 frame pointer word (ZFP); 0x090002 is the syscall gate 0x090100..0x113FFF compiler data: interned names, symbol table (16384), locals, fixups, tables -0x114100..0x17C0FF genome: 0x114100 entry, then the symbol table address and the image end (425984 words reserved) -0x17C100..0x1BC0FF frame stack, grows down from 0x1BC100 (262144 words) -0x1BC100..0x1CC0FF return stack, grows up -0x1CC100..0x1D40FF mark stack -0x1D4100..0x1DCFF0 data stack, grows down -0x1DD000..0x23CFFF the heap to start with (0x60000 words), then it grows up to MW +0x114100..0x1840FF genome: 0x114100 entry, then the symbol table address and the image end (458752 words reserved) +0x184100..0x1C40FF frame stack, grows down from 0x1C4100 (262144 words) +0x1C4100..0x1D40FF return stack, grows up +0x1D4100..0x1DC0FF mark stack +0x1DC100..0x1E4FF0 data stack, grows down +0x1E5000..0x244FFF the heap to start with (0x60000 words), then it grows up to MW ``` the numbers describe the default build's initial reservations. compact compiler and run-only maps start with smaller reservations and also support growth. `build/bin/genmap` writes matching layouts (see "smaller machines"); `--preset fixed` retains the older bounded heap for compatibility. the host answers `core.syscall(9, k)` with facts about the map (0 total words, 1 heap start, 2 heap end for now, 3 bytes). argument 4 requests memory growth, and argument 5 changes the growth limit within the host's backing constraints. |
