starkernel: retarget REPL glyph rendering to TTF-TEXT's rasterizer (4.4j)
font_8x16.c keeps rendering everything through and including POST; TTF-TEXT's rasterizer takes over at the interactive REPL boundary (sk_repl()) via a new runtime mode switch, vt100_enable_ttf() (console_fb_enable_ttf() wrapper), not a compile-time swap -- both backends coexist in the same binary since boot/POST must stay font_8x16.c per this item's own done-when. TTF-TEXT (the FORTH word) isn't directly callable from vt100.c -- VM stack arguments, different call shape than a one-glyph cell draw. Used hal/ttf.c's VM-independent primitives directly instead (same rasterizer TTF-TEXT itself calls underneath), added as a native C helper in vt100.c. Lazily loads fonts:JetBrainsMono-Regular.ttf and kmallocs a 96-slot raster cache (covers all 95 printable ASCII, no eviction thrash) on first switch. Cell geometry changes at the switch (mode-aware cell_w()/cell_h()): provisional 12x24 TTF cell (600/1000em * 20px = 12px exactly, using 4.4i's confirmed-uniform hmtx advance width) vs font_8x16's fixed 8x16 -- cols/rows re-derived and screen cleared at the switch point, same as vt100_init() itself does. Final REPL text size is 4.4m's decision, not this item's. Also fixes the second call site 4.4i flagged: erase_line_range() now uses one fb_fill_rect() instead of a per-cell font_8x16-specific blank glyph draw, consistent with erase_display(2)'s full-screen case. Three-arch verified: amd64/aarch64/riscv64 all reach ok>, POST Failed: 0, identical dict-hashes. amd64 screendump shows real proportional JetBrains Mono letterforms on the REPL tail, visibly distinct from every prior font_8x16 screenshot. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
64c20c78eb
commit
f729b91a09
@@ -5306,7 +5306,7 @@ document and committing that amendment as its own item.*
|
||||
> `draw_cursor_glyph()`'s call, `erase_line_range()`'s call, and the `fb_cell_w()`/
|
||||
> `fb_cell_h()`/`UNDERLINE_ROW` metrics that currently assume `font_8x16` specifically.
|
||||
|
||||
- [ ] **4.4j — Retarget the glyph-draw call site from `font_8x16.c` to `TTF-TEXT`.** Depends
|
||||
- [x] **4.4j — Retarget the glyph-draw call site from `font_8x16.c` to `TTF-TEXT`.** Depends
|
||||
on 4.4i. **Boundary, corrected 2026-08-11:** `font_8x16.c`/VT100 keeps rendering everything
|
||||
through and including **POST** (the parity/dictionary-hash self-test) — not just the
|
||||
pre-bootstrap M1–M6 messages originally scoped here. POST runs *after* the capsule/VM system
|
||||
@@ -5328,6 +5328,76 @@ document and committing that amendment as its own item.*
|
||||
> preference"). The actual early-boot/POST fallback is `font_8x16.c` specifically, not "the
|
||||
> stroke font" generically.
|
||||
|
||||
> **Done 2026-08-11.** `TTF-TEXT` (the FORTH word, `word_source/ttf_words.c`) turned out not
|
||||
> to be directly callable from `vt100.c` — it takes VM-stack arguments and a
|
||||
> string+advance-loop, a different call shape than a one-glyph-at-a-time cell draw.
|
||||
> `hal/ttf.c`'s primitives underneath it (`ttf_load_from_capsule`, `ttf_raster_cache_get`,
|
||||
> etc.) are VM-independent, though, exactly like `font_8x16.c`'s own C functions — so
|
||||
> "retarget to TTF-TEXT" means "retarget to the same rasterizer TTF-TEXT itself uses",
|
||||
> implemented as a native C helper in `vt100.c`, not a call into the FORTH word. Recording
|
||||
> this now so it isn't read later as scope drift.
|
||||
>
|
||||
> **Boundary implemented as a runtime switch, not a compile-time swap** (this item's own
|
||||
> done-when requires boot/POST to stay `font_8x16.c` while REPL output uses TTF — both must
|
||||
> coexist in the same binary). New `vt100_enable_ttf()` (`vt100.c`, wrapped by
|
||||
> `console_fb_enable_ttf()` in `console.c`) flips a mode flag; `draw_cursor_glyph()` and
|
||||
> `erase_line_range()` branch on it. Called exactly once, at the top of `sk_repl()`
|
||||
> (`repl.c`) — the actual start of "the interactive REPL itself", after boot/POST have both
|
||||
> already run under `font_8x16.c`. Lazily loads `fonts:JetBrainsMono-Regular.ttf` from its
|
||||
> capsule and `kmalloc`s a 96-slot raster cache (up from `ttf_words.c`'s 32 — sized to cover
|
||||
> all 95 printable ASCII with no eviction thrash, since a terminal cycles through that whole
|
||||
> set constantly; ~614 KB, checked against the 2 GiB kmalloc heap default before choosing it,
|
||||
> trivial by comparison) on first call only.
|
||||
>
|
||||
> **Cell geometry changes at the switch, deliberately (advisor-reviewed option (a), not
|
||||
> (b)):** `cell_w()`/`cell_h()` are now mode-aware — `font_8x16`'s fixed 8×16 in bitmap mode,
|
||||
> a provisional 12×24 in TTF mode (`600/1000 × 20px = 12px` exactly, using 4.4i's own
|
||||
> confirmed-uniform `hmtx` advance width so the fixed-cell grid tiles cleanly; final REPL
|
||||
> text size is 4.4m's decision, not this item's — marked provisional throughout). Since the
|
||||
> grid changes, `vt100_enable_ttf()` re-derives `cols`/`rows` from the new cell size and
|
||||
> clears the screen, the same as `vt100_init()` itself does — safe because this runs once, at
|
||||
> a point where nothing worth preserving is on screen yet.
|
||||
>
|
||||
> **Also fixed the second call site 4.4i flagged**, not just `draw_cursor_glyph()`'s:
|
||||
> `erase_line_range()` no longer draws a per-cell blank glyph (`font_8x16`-specific, and
|
||||
> already inconsistent with `erase_display(2)`'s full-screen case, which used a plain rect
|
||||
> fill). A blank cell is visually identical to a filled background rect regardless of glyph
|
||||
> backend, so it's now one `fb_fill_rect()` call for the whole erased range — simpler *and*
|
||||
> mode-independent, closing 4.4i's inconsistency finding rather than carrying it forward.
|
||||
>
|
||||
> Underline positioning (the third 4.4i finding, `UNDERLINE_ROW` hardcoding "row 14 of 16")
|
||||
> is branched per-mode: unchanged in bitmap mode, placed 2px below the TTF baseline in TTF
|
||||
> mode — no equivalent fixed row exists there since this parser doesn't read `hhea`
|
||||
> underline metrics (`ttf.h`), so this is provisional too.
|
||||
>
|
||||
> **Three-arch verified:** amd64 (`logs/20260811-194937/amd64/`), aarch64
|
||||
> (`logs/20260811-195246/aarch64/`), riscv64 (`logs/20260811-195446/riscv64/`) — all reach
|
||||
> `ok>`, POST `Failed: 0`, identical dict-hashes across all three (confirming the TTF switch,
|
||||
> which only runs after POST, has no effect on the parity-hashed dictionary state). amd64
|
||||
> screendump, full and zoomed on the REPL tail:
|
||||
> [evidence/amd64/qemu-screenshot-20260811-195041-4.4j-ttf-repl.png](evidence/amd64/qemu-screenshot-20260811-195041-4.4j-ttf-repl.png),
|
||||
> [evidence/amd64/qemu-screenshot-20260811-195041-4.4j-ttf-repl-zoom.png](evidence/amd64/qemu-screenshot-20260811-195041-4.4j-ttf-repl-zoom.png)
|
||||
> — real proportional JetBrains Mono letterforms on the version banner, CLI banner, and
|
||||
> `ok>` prompt, visibly distinct from every prior screenshot's blocky bitmap font; `[Hera]`
|
||||
> stays orange, `ok>` stays cyan (4.4h unaffected). Boot/POST (everything above the visible
|
||||
> tail) is unchanged `font_8x16.c` output, confirmed by this same screendump showing nothing
|
||||
> else on screen — `erase_display(2)` at the switch point cleared it, same behavior as every
|
||||
> screenshot since 4.4c.
|
||||
>
|
||||
> **Known, pre-existing, not touched here:** the mangled `â[box][box]` where an em-dash
|
||||
> should read (`"FORTH-79 interpreter — type BYE..."`) is `vt100_putc()`'s byte-oriented
|
||||
> pipeline treating each byte of the UTF-8 em-dash as its own codepoint — `TTF-TEXT`'s own
|
||||
> word decodes UTF-8 (`ttf_words_decode_utf8()`), but `vt100.c`'s character path never did,
|
||||
> in *either* glyph mode. Confirmed pre-existing by checking earlier font_8x16-mode
|
||||
> screenshots (4.4f/4.4h): the same line already rendered wrong there too (garbled as "tgpe
|
||||
> BYE" etc.) — not a 4.4j regression, a longstanding gap in `vt100.c` unrelated to which font
|
||||
> backend draws the (wrong) glyph.
|
||||
>
|
||||
> **CANVAS scroll-box text**, per this item's original done-when: 4.4n/4.4o build that box as
|
||||
> separate, later items — this item's job was making sure the *same* TTF renderer will serve
|
||||
> it once it exists, not building the box itself. No box exists yet, so this is deferred by
|
||||
> construction, not skipped.
|
||||
|
||||
- [ ] **4.4k — Live-verify ANSI color end-to-end.** Depends on 4.4j. Inject an SGR color
|
||||
escape sequence (`ESC[3xm`/`ESC[9xm`/256-color) over serial and confirm it visibly changes
|
||||
`TTF-TEXT`-rendered glyph color in a screendump — the parser and the retargeted draw call
|
||||
|
||||
Binary file not shown.
Binary file not shown.
|
After Width: | Height: | Size: 5.6 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 6.4 KiB |
@@ -72,39 +72,39 @@ tick_number,elapsed_ns,tick_interval_ns,cache_hits_delta,bucket_hits_delta,word_
|
||||
71,710000,10000,0,0,44,22,39,4096,1757,0,0,0,65536,0,0,65536,0,0
|
||||
72,720000,10000,0,0,130,24,27,4096,1757,0,0,0,65536,0,0,65536,0,0
|
||||
73,730000,10000,0,0,134,26,21,4096,1757,0,0,0,65536,0,0,65536,0,0
|
||||
1,10000,18446744073708831616,0,0,117,4,4,4096,0,0,4895412794951728796,25,65536,0,0,65536,0,0
|
||||
2,20000,10000,0,0,78,10,7,4096,0,0,0,33,65536,0,0,65536,0,0
|
||||
3,30000,10000,0,0,101,13,7,4096,0,0,0,40,65536,0,0,65536,0,0
|
||||
4,40000,10000,0,0,63,19,8,4096,0,0,0,46,65536,0,0,65536,0,0
|
||||
5,50000,10000,0,0,92,25,8,4096,2,0,0,57,65536,0,0,65536,0,0
|
||||
6,60000,10000,0,0,64,27,8,4096,2,0,0,65,65536,0,0,65536,0,0
|
||||
7,70000,10000,0,0,228,32,8,4096,210,0,0,214,65536,0,0,65536,0,0
|
||||
8,80000,10000,0,0,256,34,9,4096,466,0,0,389,65536,0,0,65536,0,0
|
||||
9,90000,10000,0,0,256,36,10,4096,722,0,0,564,65536,0,0,65536,0,0
|
||||
10,100000,10000,0,0,256,36,11,4096,978,0,0,739,65536,0,0,65536,0,0
|
||||
11,110000,10000,0,0,256,36,11,4096,1234,0,0,916,65536,0,0,65536,0,0
|
||||
12,120000,10000,0,0,256,36,12,4096,1490,0,0,1092,65536,0,0,65536,0,0
|
||||
13,130000,10000,0,0,256,37,12,4096,1746,0,0,1269,65536,0,0,65536,0,0
|
||||
14,140000,10000,0,0,230,39,12,4096,1949,0,0,1414,65536,0,0,65536,0,0
|
||||
15,150000,10000,0,0,256,39,13,4096,2204,0,0,1588,65536,0,0,65536,0,0
|
||||
16,160000,10000,0,0,256,39,14,4096,2459,0,0,1763,65536,0,0,65536,0,0
|
||||
17,170000,10000,0,0,256,39,15,4096,2713,0,0,1938,65536,0,0,65536,0,0
|
||||
18,180000,10000,0,0,256,39,15,4096,2969,0,0,2113,65536,0,0,65536,0,0
|
||||
19,190000,10000,0,0,256,39,16,4096,3224,0,0,2291,65536,0,1,65536,0,0
|
||||
20,200000,10000,0,0,256,41,17,4096,3480,0,0,2467,65536,0,1,65536,0,0
|
||||
21,210000,10000,0,0,256,41,17,4096,3736,0,0,2643,65536,0,1,65536,0,0
|
||||
22,220000,10000,0,0,256,41,18,4096,3992,0,0,2820,65536,0,1,65536,0,0
|
||||
23,230000,10000,0,0,256,41,19,4096,4096,0,0,2996,65536,0,1,65536,0,0
|
||||
24,240000,10000,0,0,256,41,20,4096,4096,0,0,3171,65536,0,1,65536,0,0
|
||||
25,250000,10000,0,0,256,43,20,2048,2048,0,0,3348,65536,0,1,65536,0,0
|
||||
26,260000,10000,0,0,256,45,21,2048,2048,0,0,3527,65536,0,1,65536,0,0
|
||||
27,270000,10000,0,0,256,45,22,1024,1024,0,0,3706,65536,0,1,65536,0,0
|
||||
28,280000,10000,0,0,256,45,23,1024,1024,0,0,3882,65536,0,1,65536,0,0
|
||||
29,290000,10000,0,0,256,45,24,512,512,0,0,4058,65536,0,1,65536,0,0
|
||||
30,300000,10000,0,0,256,45,24,512,512,0,0,4238,65536,0,1,65536,0,0
|
||||
31,310000,10000,0,0,256,45,25,256,256,0,0,4414,65536,0,1,65536,0,0
|
||||
32,320000,10000,0,0,255,45,26,256,256,0,0,4586,65536,0,1,65536,0,0
|
||||
33,330000,10000,0,0,256,45,27,256,256,0,0,4762,65536,0,1,65536,0,0
|
||||
34,340000,10000,0,0,256,45,27,256,256,0,0,4938,65536,0,1,65536,0,0
|
||||
35,350000,10000,0,0,256,45,28,256,256,0,0,5113,65536,0,1,65536,0,0
|
||||
36,360000,10000,0,0,256,45,29,256,256,0,0,5290,65536,0,1,65536,0,0
|
||||
1,10000,18446744073708831616,0,0,117,4,4,4096,0,0,4895412794951728796,26,65536,0,0,65536,0,0
|
||||
2,20000,10000,0,0,78,10,7,4096,0,0,0,34,65536,0,0,65536,0,0
|
||||
3,30000,10000,0,0,101,13,7,4096,0,0,0,42,65536,0,0,65536,0,0
|
||||
4,40000,10000,0,0,63,19,8,4096,0,0,0,48,65536,0,0,65536,0,0
|
||||
5,50000,10000,0,0,92,25,8,4096,2,0,0,59,65536,0,0,65536,0,0
|
||||
6,60000,10000,0,0,64,27,8,4096,2,0,0,67,65536,0,0,65536,0,0
|
||||
7,70000,10000,0,0,228,32,8,4096,210,0,0,220,65536,0,0,65536,0,0
|
||||
8,80000,10000,0,0,256,34,9,4096,466,0,0,396,65536,0,0,65536,0,0
|
||||
9,90000,10000,0,0,256,36,10,4096,722,0,0,571,65536,0,0,65536,0,0
|
||||
10,100000,10000,0,0,256,36,11,4096,978,0,0,747,65536,0,0,65536,0,0
|
||||
11,110000,10000,0,0,256,36,11,4096,1234,0,0,923,65536,0,0,65536,0,0
|
||||
12,120000,10000,0,0,256,36,12,4096,1490,0,0,1099,65536,0,0,65536,0,0
|
||||
13,130000,10000,0,0,256,37,12,4096,1746,0,0,1276,65536,0,0,65536,0,0
|
||||
14,140000,10000,0,0,230,39,12,4096,1949,0,0,1423,65536,0,0,65536,0,0
|
||||
15,150000,10000,0,0,256,39,13,4096,2204,0,0,1597,65536,0,0,65536,0,0
|
||||
16,160000,10000,0,0,256,39,14,4096,2459,0,0,1772,65536,0,0,65536,0,0
|
||||
17,170000,10000,0,0,256,39,15,4096,2713,0,0,1949,65536,0,0,65536,0,0
|
||||
18,180000,10000,0,0,256,39,15,4096,2969,0,0,2127,65536,0,0,65536,0,0
|
||||
19,190000,10000,0,0,256,39,16,4096,3224,0,0,2306,65536,0,1,65536,0,0
|
||||
20,200000,10000,0,0,256,41,17,4096,3480,0,0,2486,65536,0,1,65536,0,0
|
||||
21,210000,10000,0,0,256,41,17,4096,3736,0,0,2665,65536,0,1,65536,0,0
|
||||
22,220000,10000,0,0,256,41,18,4096,3992,0,0,2842,65536,0,1,65536,0,0
|
||||
23,230000,10000,0,0,256,41,19,4096,4096,0,0,3021,65536,0,1,65536,0,0
|
||||
24,240000,10000,0,0,256,41,20,4096,4096,0,0,3201,65536,0,1,65536,0,0
|
||||
25,250000,10000,0,0,256,43,20,2048,2048,0,0,3382,65536,0,1,65536,0,0
|
||||
26,260000,10000,0,0,256,45,21,2048,2048,0,0,3559,65536,0,1,65536,0,0
|
||||
27,270000,10000,0,0,256,45,22,1024,1024,0,0,3737,65536,0,1,65536,0,0
|
||||
28,280000,10000,0,0,256,45,23,1024,1024,0,0,3916,65536,0,1,65536,0,0
|
||||
29,290000,10000,0,0,256,45,24,512,512,0,0,4097,65536,0,1,65536,0,0
|
||||
30,300000,10000,0,0,256,45,24,512,512,0,0,4275,65536,0,1,65536,0,0
|
||||
31,310000,10000,0,0,256,45,25,256,256,0,0,4451,65536,0,1,65536,0,0
|
||||
32,320000,10000,0,0,255,45,26,256,256,0,0,4625,65536,0,1,65536,0,0
|
||||
33,330000,10000,0,0,256,45,27,256,256,0,0,4802,65536,0,1,65536,0,0
|
||||
34,340000,10000,0,0,256,45,27,256,256,0,0,4979,65536,0,1,65536,0,0
|
||||
35,350000,10000,0,0,256,45,28,256,256,0,0,5156,65536,0,1,65536,0,0
|
||||
36,360000,10000,0,0,256,45,29,256,256,0,0,5332,65536,0,1,65536,0,0
|
||||
|
||||
|
@@ -74,37 +74,37 @@ tick_number,elapsed_ns,tick_interval_ns,cache_hits_delta,bucket_hits_delta,word_
|
||||
73,730000,10000,0,0,134,26,21,4096,1757,0,0,0,65536,0,0,65536,0,0
|
||||
1,10000,18446744073708831616,0,0,117,4,4,4096,0,0,4895412794951728796,13,65536,0,0,65536,0,0
|
||||
2,20000,10000,0,0,78,10,7,4096,0,0,0,17,65536,0,0,65536,0,0
|
||||
3,30000,10000,0,0,101,13,7,4096,0,0,0,21,65536,0,0,65536,0,0
|
||||
4,40000,10000,0,0,63,19,8,4096,0,0,0,24,65536,0,0,65536,0,0
|
||||
5,50000,10000,0,0,92,25,8,4096,2,0,0,30,65536,0,0,65536,0,0
|
||||
6,60000,10000,0,0,64,27,8,4096,2,0,0,34,65536,0,0,65536,0,0
|
||||
7,70000,10000,0,0,228,32,8,4096,210,0,0,114,65536,0,0,65536,0,0
|
||||
8,80000,10000,0,0,256,34,9,4096,466,0,0,212,65536,0,0,65536,0,0
|
||||
9,90000,10000,0,0,256,36,10,4096,722,0,0,304,65536,0,0,65536,0,0
|
||||
10,100000,10000,0,0,256,36,11,4096,978,0,0,404,65536,0,0,65536,0,0
|
||||
11,110000,10000,0,0,256,36,11,4096,1234,0,0,500,65536,0,0,65536,0,0
|
||||
12,120000,10000,0,0,256,36,12,4096,1490,0,0,600,65536,0,0,65536,0,0
|
||||
13,130000,10000,0,0,256,37,12,4096,1746,0,0,698,65536,0,0,65536,0,0
|
||||
14,140000,10000,0,0,230,39,12,4096,1949,0,0,774,65536,0,0,65536,0,0
|
||||
15,150000,10000,0,0,256,39,13,4096,2204,0,0,869,65536,0,0,65536,0,0
|
||||
16,160000,10000,0,0,256,39,14,4096,2459,0,0,962,65536,0,0,65536,0,0
|
||||
17,170000,10000,0,0,256,39,15,4096,2713,0,0,1056,65536,0,0,65536,0,0
|
||||
18,180000,10000,0,0,256,39,15,4096,2969,0,0,1150,65536,0,0,65536,0,0
|
||||
19,190000,10000,0,0,256,39,16,4096,3224,0,0,1243,65536,0,1,65536,0,0
|
||||
20,200000,10000,0,0,256,41,17,4096,3480,0,0,1337,65536,0,1,65536,0,0
|
||||
21,210000,10000,0,0,256,41,17,4096,3736,0,0,1432,65536,0,1,65536,0,0
|
||||
22,220000,10000,0,0,256,41,18,4096,3992,0,0,1525,65536,0,1,65536,0,0
|
||||
23,230000,10000,0,0,256,41,19,4096,4096,0,0,1620,65536,0,1,65536,0,0
|
||||
24,240000,10000,0,0,256,41,20,4096,4096,0,0,1713,65536,0,1,65536,0,0
|
||||
25,250000,10000,0,0,256,43,20,2048,2048,0,0,1807,65536,0,1,65536,0,0
|
||||
26,260000,10000,0,0,256,45,21,2048,2048,0,0,1899,65536,0,1,65536,0,0
|
||||
27,270000,10000,0,0,256,45,22,1024,1024,0,0,1993,65536,0,1,65536,0,0
|
||||
28,280000,10000,0,0,256,45,23,1024,1024,0,0,2086,65536,0,1,65536,0,0
|
||||
29,290000,10000,0,0,256,45,24,512,512,0,0,2181,65536,0,1,65536,0,0
|
||||
30,300000,10000,0,0,256,45,24,512,512,0,0,2275,65536,0,1,65536,0,0
|
||||
31,310000,10000,0,0,256,45,25,256,256,0,0,2367,65536,0,1,65536,0,0
|
||||
32,320000,10000,0,0,255,45,26,256,256,0,0,2458,65536,0,1,65536,0,0
|
||||
33,330000,10000,0,0,256,45,27,256,256,0,0,2551,65536,0,1,65536,0,0
|
||||
34,340000,10000,0,0,256,45,27,256,256,0,0,2643,65536,0,1,65536,0,0
|
||||
35,350000,10000,0,0,256,45,28,256,256,0,0,2737,65536,0,1,65536,0,0
|
||||
36,360000,10000,0,0,256,45,29,256,256,0,0,2830,65536,0,1,65536,0,0
|
||||
3,30000,10000,0,0,101,13,7,4096,0,0,0,22,65536,0,0,65536,0,0
|
||||
4,40000,10000,0,0,63,19,8,4096,0,0,0,25,65536,0,0,65536,0,0
|
||||
5,50000,10000,0,0,92,25,8,4096,2,0,0,31,65536,0,0,65536,0,0
|
||||
6,60000,10000,0,0,64,27,8,4096,2,0,0,36,65536,0,0,65536,0,0
|
||||
7,70000,10000,0,0,228,32,8,4096,210,0,0,115,65536,0,0,65536,0,0
|
||||
8,80000,10000,0,0,256,34,9,4096,466,0,0,209,65536,0,0,65536,0,0
|
||||
9,90000,10000,0,0,256,36,10,4096,722,0,0,303,65536,0,0,65536,0,0
|
||||
10,100000,10000,0,0,256,36,11,4096,978,0,0,396,65536,0,0,65536,0,0
|
||||
11,110000,10000,0,0,256,36,11,4096,1234,0,0,488,65536,0,0,65536,0,0
|
||||
12,120000,10000,0,0,256,36,12,4096,1490,0,0,581,65536,0,0,65536,0,0
|
||||
13,130000,10000,0,0,256,37,12,4096,1746,0,0,674,65536,0,0,65536,0,0
|
||||
14,140000,10000,0,0,230,39,12,4096,1949,0,0,750,65536,0,0,65536,0,0
|
||||
15,150000,10000,0,0,256,39,13,4096,2204,0,0,844,65536,0,0,65536,0,0
|
||||
16,160000,10000,0,0,256,39,14,4096,2459,0,0,937,65536,0,0,65536,0,0
|
||||
17,170000,10000,0,0,256,39,15,4096,2713,0,0,1030,65536,0,0,65536,0,0
|
||||
18,180000,10000,0,0,256,39,15,4096,2969,0,0,1124,65536,0,0,65536,0,0
|
||||
19,190000,10000,0,0,256,39,16,4096,3224,0,0,1219,65536,0,1,65536,0,0
|
||||
20,200000,10000,0,0,256,41,17,4096,3480,0,0,1313,65536,0,1,65536,0,0
|
||||
21,210000,10000,0,0,256,41,17,4096,3736,0,0,1408,65536,0,1,65536,0,0
|
||||
22,220000,10000,0,0,256,41,18,4096,3992,0,0,1502,65536,0,1,65536,0,0
|
||||
23,230000,10000,0,0,256,41,19,4096,4096,0,0,1596,65536,0,1,65536,0,0
|
||||
24,240000,10000,0,0,256,41,20,4096,4096,0,0,1689,65536,0,1,65536,0,0
|
||||
25,250000,10000,0,0,256,43,20,2048,2048,0,0,1787,65536,0,1,65536,0,0
|
||||
26,260000,10000,0,0,256,45,21,2048,2048,0,0,1883,65536,0,1,65536,0,0
|
||||
27,270000,10000,0,0,256,45,22,1024,1024,0,0,1976,65536,0,1,65536,0,0
|
||||
28,280000,10000,0,0,256,45,23,1024,1024,0,0,2069,65536,0,1,65536,0,0
|
||||
29,290000,10000,0,0,256,45,24,512,512,0,0,2162,65536,0,1,65536,0,0
|
||||
30,300000,10000,0,0,256,45,24,512,512,0,0,2255,65536,0,1,65536,0,0
|
||||
31,310000,10000,0,0,256,45,25,256,256,0,0,2349,65536,0,1,65536,0,0
|
||||
32,320000,10000,0,0,255,45,26,256,256,0,0,2440,65536,0,1,65536,0,0
|
||||
33,330000,10000,0,0,256,45,27,256,256,0,0,2533,65536,0,1,65536,0,0
|
||||
34,340000,10000,0,0,256,45,27,256,256,0,0,2625,65536,0,1,65536,0,0
|
||||
35,350000,10000,0,0,256,45,28,256,256,0,0,2719,65536,0,1,65536,0,0
|
||||
36,360000,10000,0,0,256,45,29,256,256,0,0,2812,65536,0,1,65536,0,0
|
||||
|
||||
|
@@ -72,39 +72,39 @@ tick_number,elapsed_ns,tick_interval_ns,cache_hits_delta,bucket_hits_delta,word_
|
||||
71,710000,10000,0,0,44,22,39,4096,1757,0,0,0,65536,0,0,65536,0,0
|
||||
72,720000,10000,0,0,130,24,27,4096,1757,0,0,0,65536,0,0,65536,0,0
|
||||
73,730000,10000,0,0,134,26,21,4096,1757,0,0,0,65536,0,0,65536,0,0
|
||||
1,10000,18446744073708831616,0,0,117,4,4,4096,0,0,4895412794951728796,10,65536,0,0,65536,0,0
|
||||
2,20000,10000,0,0,78,10,7,4096,0,0,0,13,65536,0,0,65536,0,0
|
||||
1,10000,18446744073708831616,0,0,117,4,4,4096,0,0,4895412794951728796,9,65536,0,0,65536,0,0
|
||||
2,20000,10000,0,0,78,10,7,4096,0,0,0,12,65536,0,0,65536,0,0
|
||||
3,30000,10000,0,0,101,13,7,4096,0,0,0,15,65536,0,0,65536,0,0
|
||||
4,40000,10000,0,0,63,19,8,4096,0,0,0,17,65536,0,0,65536,0,0
|
||||
5,50000,10000,0,0,92,25,8,4096,2,0,0,22,65536,0,0,65536,0,0
|
||||
5,50000,10000,0,0,92,25,8,4096,2,0,0,21,65536,0,0,65536,0,0
|
||||
6,60000,10000,0,0,64,27,8,4096,2,0,0,24,65536,0,0,65536,0,0
|
||||
7,70000,10000,0,0,228,32,8,4096,210,0,0,67,65536,0,0,65536,0,0
|
||||
8,80000,10000,0,0,256,34,9,4096,466,0,0,120,65536,0,0,65536,0,0
|
||||
9,90000,10000,0,0,256,36,10,4096,722,0,0,174,65536,0,0,65536,0,0
|
||||
10,100000,10000,0,0,256,36,11,4096,978,0,0,230,65536,0,0,65536,0,0
|
||||
11,110000,10000,0,0,256,36,11,4096,1234,0,0,284,65536,0,0,65536,0,0
|
||||
12,120000,10000,0,0,256,36,12,4096,1490,0,0,338,65536,0,0,65536,0,0
|
||||
13,130000,10000,0,0,256,37,12,4096,1746,0,0,390,65536,0,0,65536,0,0
|
||||
14,140000,10000,0,0,230,39,12,4096,1949,0,0,431,65536,0,0,65536,0,0
|
||||
15,150000,10000,0,0,256,39,13,4096,2204,0,0,486,65536,0,0,65536,0,0
|
||||
16,160000,10000,0,0,256,39,14,4096,2459,0,0,535,65536,0,0,65536,0,0
|
||||
17,170000,10000,0,0,256,39,15,4096,2713,0,0,590,65536,0,0,65536,0,0
|
||||
18,180000,10000,0,0,256,39,15,4096,2969,0,0,644,65536,0,0,65536,0,0
|
||||
19,190000,10000,0,0,256,39,16,4096,3224,0,0,699,65536,0,1,65536,0,0
|
||||
20,200000,10000,0,0,256,41,17,4096,3480,0,0,754,65536,0,1,65536,0,0
|
||||
21,210000,10000,0,0,256,41,17,4096,3736,0,0,809,65536,0,1,65536,0,0
|
||||
22,220000,10000,0,0,256,41,18,4096,3992,0,0,864,65536,0,1,65536,0,0
|
||||
23,230000,10000,0,0,256,41,19,4096,4096,0,0,919,65536,0,1,65536,0,0
|
||||
24,240000,10000,0,0,256,41,20,4096,4096,0,0,974,65536,0,1,65536,0,0
|
||||
25,250000,10000,0,0,256,43,20,2048,2048,0,0,1028,65536,0,1,65536,0,0
|
||||
26,260000,10000,0,0,256,45,21,2048,2048,0,0,1079,65536,0,1,65536,0,0
|
||||
27,270000,10000,0,0,256,45,22,1024,1024,0,0,1131,65536,0,1,65536,0,0
|
||||
28,280000,10000,0,0,256,45,23,1024,1024,0,0,1183,65536,0,1,65536,0,0
|
||||
29,290000,10000,0,0,256,45,24,512,512,0,0,1236,65536,0,1,65536,0,0
|
||||
30,300000,10000,0,0,256,45,24,512,512,0,0,1291,65536,0,1,65536,0,0
|
||||
31,310000,10000,0,0,256,45,25,256,256,0,0,1341,65536,0,1,65536,0,0
|
||||
32,320000,10000,0,0,255,45,26,256,256,0,0,1393,65536,0,1,65536,0,0
|
||||
33,330000,10000,0,0,256,45,27,256,256,0,0,1447,65536,0,1,65536,0,0
|
||||
34,340000,10000,0,0,256,45,27,256,256,0,0,1502,65536,0,1,65536,0,0
|
||||
35,350000,10000,0,0,256,45,28,256,256,0,0,1555,65536,0,1,65536,0,0
|
||||
36,360000,10000,0,0,256,45,29,256,256,0,0,1602,65536,0,1,65536,0,0
|
||||
7,70000,10000,0,0,228,32,8,4096,210,0,0,64,65536,0,0,65536,0,0
|
||||
8,80000,10000,0,0,256,34,9,4096,466,0,0,115,65536,0,0,65536,0,0
|
||||
9,90000,10000,0,0,256,36,10,4096,722,0,0,169,65536,0,0,65536,0,0
|
||||
10,100000,10000,0,0,256,36,11,4096,978,0,0,220,65536,0,0,65536,0,0
|
||||
11,110000,10000,0,0,256,36,11,4096,1234,0,0,271,65536,0,0,65536,0,0
|
||||
12,120000,10000,0,0,256,36,12,4096,1490,0,0,327,65536,0,0,65536,0,0
|
||||
13,130000,10000,0,0,256,37,12,4096,1746,0,0,381,65536,0,0,65536,0,0
|
||||
14,140000,10000,0,0,230,39,12,4096,1949,0,0,425,65536,0,0,65536,0,0
|
||||
15,150000,10000,0,0,256,39,13,4096,2204,0,0,476,65536,0,0,65536,0,0
|
||||
16,160000,10000,0,0,256,39,14,4096,2459,0,0,523,65536,0,0,65536,0,0
|
||||
17,170000,10000,0,0,256,39,15,4096,2713,0,0,576,65536,0,0,65536,0,0
|
||||
18,180000,10000,0,0,256,39,15,4096,2969,0,0,624,65536,0,0,65536,0,0
|
||||
19,190000,10000,0,0,256,39,16,4096,3224,0,0,676,65536,0,1,65536,0,0
|
||||
20,200000,10000,0,0,256,41,17,4096,3480,0,0,730,65536,0,1,65536,0,0
|
||||
21,210000,10000,0,0,256,41,17,4096,3736,0,0,785,65536,0,1,65536,0,0
|
||||
22,220000,10000,0,0,256,41,18,4096,3992,0,0,840,65536,0,1,65536,0,0
|
||||
23,230000,10000,0,0,256,41,19,4096,4096,0,0,895,65536,0,1,65536,0,0
|
||||
24,240000,10000,0,0,256,41,20,4096,4096,0,0,950,65536,0,1,65536,0,0
|
||||
25,250000,10000,0,0,256,43,20,2048,2048,0,0,1003,65536,0,1,65536,0,0
|
||||
26,260000,10000,0,0,256,45,21,2048,2048,0,0,1057,65536,0,1,65536,0,0
|
||||
27,270000,10000,0,0,256,45,22,1024,1024,0,0,1106,65536,0,1,65536,0,0
|
||||
28,280000,10000,0,0,256,45,23,1024,1024,0,0,1161,65536,0,1,65536,0,0
|
||||
29,290000,10000,0,0,256,45,24,512,512,0,0,1216,65536,0,1,65536,0,0
|
||||
30,300000,10000,0,0,256,45,24,512,512,0,0,1271,65536,0,1,65536,0,0
|
||||
31,310000,10000,0,0,256,45,25,256,256,0,0,1326,65536,0,1,65536,0,0
|
||||
32,320000,10000,0,0,255,45,26,256,256,0,0,1380,65536,0,1,65536,0,0
|
||||
33,330000,10000,0,0,256,45,27,256,256,0,0,1435,65536,0,1,65536,0,0
|
||||
34,340000,10000,0,0,256,45,27,256,256,0,0,1485,65536,0,1,65536,0,0
|
||||
35,350000,10000,0,0,256,45,28,256,256,0,0,1533,65536,0,1,65536,0,0
|
||||
36,360000,10000,0,0,256,45,29,256,256,0,0,1589,65536,0,1,65536,0,0
|
||||
|
||||
|
@@ -0,0 +1,110 @@
|
||||
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
|
||||
1,10000,10000,0,0,183,4,45,731,731,0,0,0,65536,0,0,65536,0,0
|
||||
2,20000,10000,0,0,173,5,44,582,582,0,0,0,65536,0,0,65536,0,0
|
||||
3,30000,10000,0,0,184,6,60,582,582,0,0,0,65536,0,0,65536,0,0
|
||||
4,40000,10000,0,0,174,8,71,4096,0,0,0,0,65536,0,0,65536,0,0
|
||||
5,50000,10000,0,0,150,9,78,582,582,0,0,0,65536,0,0,65536,0,0
|
||||
6,60000,10000,0,0,159,11,73,4096,0,0,0,0,65536,0,0,65536,0,0
|
||||
7,70000,10000,0,0,188,15,71,685,685,0,0,0,65536,0,0,65536,0,0
|
||||
8,80000,10000,0,0,214,16,83,685,685,0,0,0,65536,0,0,65536,0,0
|
||||
9,90000,10000,0,0,216,19,82,4096,0,0,0,0,65536,0,0,65536,0,0
|
||||
10,100000,10000,0,0,222,21,84,567,567,0,0,0,65536,0,0,65536,0,0
|
||||
11,110000,10000,0,0,207,23,86,731,731,0,0,0,65536,0,0,65536,0,0
|
||||
12,120000,10000,0,0,189,26,83,4096,0,0,0,0,65536,0,0,65536,0,0
|
||||
13,130000,10000,0,0,221,28,80,731,731,0,0,0,65536,0,0,65536,0,0
|
||||
14,140000,10000,0,0,204,29,83,685,685,0,0,0,65536,0,0,65536,0,0
|
||||
15,150000,10000,0,0,203,30,82,731,731,0,0,0,65536,0,0,65536,0,0
|
||||
16,160000,10000,0,0,201,32,83,567,567,0,0,0,65536,0,0,65536,0,0
|
||||
17,170000,10000,0,0,190,34,86,731,731,0,0,0,65536,0,0,65536,0,0
|
||||
18,180000,10000,0,0,170,35,73,582,582,0,0,0,65536,0,0,65536,0,0
|
||||
19,190000,10000,0,0,154,35,40,731,731,0,0,0,65536,0,0,65536,0,0
|
||||
20,200000,10000,0,0,154,35,38,567,567,0,0,0,65536,0,0,65536,0,0
|
||||
21,210000,10000,0,0,153,38,37,4096,0,0,0,0,65536,0,0,65536,0,0
|
||||
22,220000,10000,0,0,167,38,38,582,582,0,0,0,65536,0,0,65536,0,0
|
||||
23,230000,10000,0,0,176,12,40,685,685,0,0,0,65536,0,0,65536,0,0
|
||||
24,240000,10000,0,0,175,10,25,731,731,0,0,0,65536,0,0,65536,0,0
|
||||
25,250000,10000,0,0,196,11,23,731,731,0,0,0,65536,0,0,65536,0,0
|
||||
26,260000,10000,0,0,192,14,24,4096,0,0,0,0,65536,0,0,65536,0,0
|
||||
27,270000,10000,0,0,158,16,30,685,685,0,0,0,65536,0,0,65536,0,0
|
||||
28,280000,10000,0,0,158,17,23,4096,0,0,0,0,65536,0,0,65536,0,0
|
||||
29,290000,10000,0,0,164,17,27,4096,0,0,0,0,65536,0,0,65536,0,0
|
||||
30,300000,10000,0,0,154,18,26,685,685,0,0,0,65536,0,0,65536,0,0
|
||||
31,310000,10000,0,0,172,6,25,582,582,0,0,0,65536,0,0,65536,0,0
|
||||
32,320000,10000,0,0,180,9,22,567,567,0,0,0,65536,0,0,65536,0,0
|
||||
33,330000,10000,0,0,145,11,29,567,567,0,0,0,65536,0,0,65536,0,0
|
||||
34,340000,10000,0,0,203,14,30,582,582,0,0,0,65536,0,0,65536,0,0
|
||||
35,350000,10000,0,0,154,16,36,731,731,0,0,0,65536,0,0,65536,0,0
|
||||
36,360000,10000,0,0,144,18,32,4096,0,0,0,0,65536,0,0,65536,0,0
|
||||
37,370000,10000,0,0,144,18,29,4096,0,0,0,0,65536,0,0,65536,0,0
|
||||
38,380000,10000,0,0,132,18,28,4096,0,0,0,0,65536,0,0,65536,0,0
|
||||
39,390000,10000,0,0,180,18,24,4096,0,0,0,0,65536,0,0,65536,0,0
|
||||
40,400000,10000,0,0,220,23,20,4096,0,0,0,0,65536,0,0,65536,0,0
|
||||
41,410000,10000,0,0,215,25,19,4096,24,0,0,0,65536,0,0,65536,0,0
|
||||
42,420000,10000,0,0,208,32,20,4096,24,0,0,0,65536,0,0,65536,0,0
|
||||
43,430000,10000,0,0,177,36,19,4096,24,0,0,0,65536,0,0,65536,0,0
|
||||
44,440000,10000,0,0,199,42,20,4096,24,0,0,0,65536,0,0,65536,0,0
|
||||
45,450000,10000,0,0,223,47,19,4096,30,0,0,0,65536,0,0,65536,0,0
|
||||
46,460000,10000,0,0,202,50,17,4096,67,0,0,0,65536,0,0,65536,0,0
|
||||
47,470000,10000,0,0,218,57,18,4096,198,0,0,0,65536,0,0,65536,0,0
|
||||
48,480000,10000,0,0,221,60,20,4096,350,0,0,0,65536,0,0,65536,0,0
|
||||
49,490000,10000,0,0,225,66,20,4096,528,0,0,0,65536,0,0,65536,0,0
|
||||
50,500000,10000,0,0,214,69,21,4096,694,0,0,0,65536,0,0,65536,0,0
|
||||
51,510000,10000,0,0,227,71,23,4096,883,0,0,0,65536,0,0,65536,0,0
|
||||
52,520000,10000,0,0,208,71,23,4096,1043,0,0,0,65536,0,0,65536,0,0
|
||||
53,530000,10000,0,0,207,71,25,4096,1202,0,0,0,65536,0,0,65536,0,0
|
||||
54,540000,10000,0,0,200,71,26,4096,1319,0,0,0,65536,0,0,65536,0,0
|
||||
55,550000,10000,0,0,205,72,27,4096,1464,0,0,0,65536,0,0,65536,0,0
|
||||
56,560000,10000,0,0,211,73,27,4096,1620,0,0,0,65536,0,0,65536,0,0
|
||||
57,570000,10000,0,0,193,80,28,4096,1712,0,0,0,65536,0,0,65536,0,0
|
||||
58,580000,10000,0,0,185,4,61,4096,1757,0,0,0,65536,0,0,65536,0,0
|
||||
59,590000,10000,0,0,81,7,32,4096,1757,0,0,0,65536,0,0,65536,0,0
|
||||
60,600000,10000,0,0,52,10,28,4096,1757,0,0,0,65536,0,0,65536,0,0
|
||||
61,610000,10000,0,0,63,17,25,4096,1757,0,0,0,65536,0,0,65536,0,0
|
||||
62,620000,10000,0,0,85,19,24,4096,1757,0,0,0,65536,0,0,65536,0,0
|
||||
63,630000,10000,0,0,68,20,23,4096,1757,0,0,0,65536,0,0,65536,0,0
|
||||
64,640000,10000,0,0,39,20,23,4096,1757,0,0,0,65536,0,0,65536,0,0
|
||||
65,650000,10000,0,0,45,20,25,4096,1757,0,0,0,65536,0,0,65536,0,0
|
||||
66,660000,10000,0,0,42,20,29,4096,1757,0,0,0,65536,0,0,65536,0,0
|
||||
67,670000,10000,0,0,47,20,31,4096,1757,0,0,0,65536,0,0,65536,0,0
|
||||
68,680000,10000,0,0,43,20,34,4096,1757,0,0,0,65536,0,0,65536,0,0
|
||||
69,690000,10000,0,0,48,20,35,4096,1757,0,0,0,65536,0,0,65536,0,0
|
||||
70,700000,10000,0,0,48,21,38,4096,1757,0,0,0,65536,0,0,65536,0,0
|
||||
71,710000,10000,0,0,44,22,39,4096,1757,0,0,0,65536,0,0,65536,0,0
|
||||
72,720000,10000,0,0,130,24,27,4096,1757,0,0,0,65536,0,0,65536,0,0
|
||||
73,730000,10000,0,0,134,26,21,4096,1757,0,0,0,65536,0,0,65536,0,0
|
||||
1,10000,18446744073708831616,0,0,117,4,4,4096,0,0,4895412794951728796,26,65536,0,0,65536,0,0
|
||||
2,20000,10000,0,0,78,10,7,4096,0,0,0,34,65536,0,0,65536,0,0
|
||||
3,30000,10000,0,0,101,13,7,4096,0,0,0,42,65536,0,0,65536,0,0
|
||||
4,40000,10000,0,0,63,19,8,4096,0,0,0,48,65536,0,0,65536,0,0
|
||||
5,50000,10000,0,0,92,25,8,4096,2,0,0,59,65536,0,0,65536,0,0
|
||||
6,60000,10000,0,0,64,27,8,4096,2,0,0,67,65536,0,0,65536,0,0
|
||||
7,70000,10000,0,0,228,32,8,4096,210,0,0,220,65536,0,0,65536,0,0
|
||||
8,80000,10000,0,0,256,34,9,4096,466,0,0,396,65536,0,0,65536,0,0
|
||||
9,90000,10000,0,0,256,36,10,4096,722,0,0,571,65536,0,0,65536,0,0
|
||||
10,100000,10000,0,0,256,36,11,4096,978,0,0,747,65536,0,0,65536,0,0
|
||||
11,110000,10000,0,0,256,36,11,4096,1234,0,0,923,65536,0,0,65536,0,0
|
||||
12,120000,10000,0,0,256,36,12,4096,1490,0,0,1099,65536,0,0,65536,0,0
|
||||
13,130000,10000,0,0,256,37,12,4096,1746,0,0,1276,65536,0,0,65536,0,0
|
||||
14,140000,10000,0,0,230,39,12,4096,1949,0,0,1423,65536,0,0,65536,0,0
|
||||
15,150000,10000,0,0,256,39,13,4096,2204,0,0,1597,65536,0,0,65536,0,0
|
||||
16,160000,10000,0,0,256,39,14,4096,2459,0,0,1772,65536,0,0,65536,0,0
|
||||
17,170000,10000,0,0,256,39,15,4096,2713,0,0,1949,65536,0,0,65536,0,0
|
||||
18,180000,10000,0,0,256,39,15,4096,2969,0,0,2127,65536,0,0,65536,0,0
|
||||
19,190000,10000,0,0,256,39,16,4096,3224,0,0,2306,65536,0,1,65536,0,0
|
||||
20,200000,10000,0,0,256,41,17,4096,3480,0,0,2486,65536,0,1,65536,0,0
|
||||
21,210000,10000,0,0,256,41,17,4096,3736,0,0,2665,65536,0,1,65536,0,0
|
||||
22,220000,10000,0,0,256,41,18,4096,3992,0,0,2842,65536,0,1,65536,0,0
|
||||
23,230000,10000,0,0,256,41,19,4096,4096,0,0,3021,65536,0,1,65536,0,0
|
||||
24,240000,10000,0,0,256,41,20,4096,4096,0,0,3201,65536,0,1,65536,0,0
|
||||
25,250000,10000,0,0,256,43,20,2048,2048,0,0,3382,65536,0,1,65536,0,0
|
||||
26,260000,10000,0,0,256,45,21,2048,2048,0,0,3559,65536,0,1,65536,0,0
|
||||
27,270000,10000,0,0,256,45,22,1024,1024,0,0,3737,65536,0,1,65536,0,0
|
||||
28,280000,10000,0,0,256,45,23,1024,1024,0,0,3916,65536,0,1,65536,0,0
|
||||
29,290000,10000,0,0,256,45,24,512,512,0,0,4097,65536,0,1,65536,0,0
|
||||
30,300000,10000,0,0,256,45,24,512,512,0,0,4275,65536,0,1,65536,0,0
|
||||
31,310000,10000,0,0,256,45,25,256,256,0,0,4451,65536,0,1,65536,0,0
|
||||
32,320000,10000,0,0,255,45,26,256,256,0,0,4625,65536,0,1,65536,0,0
|
||||
33,330000,10000,0,0,256,45,27,256,256,0,0,4802,65536,0,1,65536,0,0
|
||||
34,340000,10000,0,0,256,45,27,256,256,0,0,4979,65536,0,1,65536,0,0
|
||||
35,350000,10000,0,0,256,45,28,256,256,0,0,5156,65536,0,1,65536,0,0
|
||||
36,360000,10000,0,0,256,45,29,256,256,0,0,5332,65536,0,1,65536,0,0
|
||||
|
@@ -0,0 +1,110 @@
|
||||
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
|
||||
1,10000,10000,0,0,183,4,45,731,731,0,0,0,65536,0,0,65536,0,0
|
||||
2,20000,10000,0,0,173,5,44,582,582,0,0,0,65536,0,0,65536,0,0
|
||||
3,30000,10000,0,0,184,6,60,582,582,0,0,0,65536,0,0,65536,0,0
|
||||
4,40000,10000,0,0,174,8,71,4096,0,0,0,0,65536,0,0,65536,0,0
|
||||
5,50000,10000,0,0,150,9,78,582,582,0,0,0,65536,0,0,65536,0,0
|
||||
6,60000,10000,0,0,159,11,73,4096,0,0,0,0,65536,0,0,65536,0,0
|
||||
7,70000,10000,0,0,188,15,71,685,685,0,0,0,65536,0,0,65536,0,0
|
||||
8,80000,10000,0,0,214,16,83,685,685,0,0,0,65536,0,0,65536,0,0
|
||||
9,90000,10000,0,0,216,19,82,4096,0,0,0,0,65536,0,0,65536,0,0
|
||||
10,100000,10000,0,0,222,21,84,567,567,0,0,0,65536,0,0,65536,0,0
|
||||
11,110000,10000,0,0,207,23,86,731,731,0,0,0,65536,0,0,65536,0,0
|
||||
12,120000,10000,0,0,189,26,83,4096,0,0,0,0,65536,0,0,65536,0,0
|
||||
13,130000,10000,0,0,221,28,80,731,731,0,0,0,65536,0,0,65536,0,0
|
||||
14,140000,10000,0,0,204,29,83,685,685,0,0,0,65536,0,0,65536,0,0
|
||||
15,150000,10000,0,0,203,30,82,731,731,0,0,0,65536,0,0,65536,0,0
|
||||
16,160000,10000,0,0,201,32,83,567,567,0,0,0,65536,0,0,65536,0,0
|
||||
17,170000,10000,0,0,190,34,86,731,731,0,0,0,65536,0,0,65536,0,0
|
||||
18,180000,10000,0,0,170,35,73,582,582,0,0,0,65536,0,0,65536,0,0
|
||||
19,190000,10000,0,0,154,35,40,731,731,0,0,0,65536,0,0,65536,0,0
|
||||
20,200000,10000,0,0,154,35,38,567,567,0,0,0,65536,0,0,65536,0,0
|
||||
21,210000,10000,0,0,153,38,37,4096,0,0,0,0,65536,0,0,65536,0,0
|
||||
22,220000,10000,0,0,167,38,38,582,582,0,0,0,65536,0,0,65536,0,0
|
||||
23,230000,10000,0,0,176,12,40,685,685,0,0,0,65536,0,0,65536,0,0
|
||||
24,240000,10000,0,0,175,10,25,731,731,0,0,0,65536,0,0,65536,0,0
|
||||
25,250000,10000,0,0,196,11,23,731,731,0,0,0,65536,0,0,65536,0,0
|
||||
26,260000,10000,0,0,192,14,24,4096,0,0,0,0,65536,0,0,65536,0,0
|
||||
27,270000,10000,0,0,158,16,30,685,685,0,0,0,65536,0,0,65536,0,0
|
||||
28,280000,10000,0,0,158,17,23,4096,0,0,0,0,65536,0,0,65536,0,0
|
||||
29,290000,10000,0,0,164,17,27,4096,0,0,0,0,65536,0,0,65536,0,0
|
||||
30,300000,10000,0,0,154,18,26,685,685,0,0,0,65536,0,0,65536,0,0
|
||||
31,310000,10000,0,0,172,6,25,582,582,0,0,0,65536,0,0,65536,0,0
|
||||
32,320000,10000,0,0,180,9,22,567,567,0,0,0,65536,0,0,65536,0,0
|
||||
33,330000,10000,0,0,145,11,29,567,567,0,0,0,65536,0,0,65536,0,0
|
||||
34,340000,10000,0,0,203,14,30,582,582,0,0,0,65536,0,0,65536,0,0
|
||||
35,350000,10000,0,0,154,16,36,731,731,0,0,0,65536,0,0,65536,0,0
|
||||
36,360000,10000,0,0,144,18,32,4096,0,0,0,0,65536,0,0,65536,0,0
|
||||
37,370000,10000,0,0,144,18,29,4096,0,0,0,0,65536,0,0,65536,0,0
|
||||
38,380000,10000,0,0,132,18,28,4096,0,0,0,0,65536,0,0,65536,0,0
|
||||
39,390000,10000,0,0,180,18,24,4096,0,0,0,0,65536,0,0,65536,0,0
|
||||
40,400000,10000,0,0,220,23,20,4096,0,0,0,0,65536,0,0,65536,0,0
|
||||
41,410000,10000,0,0,215,25,19,4096,24,0,0,0,65536,0,0,65536,0,0
|
||||
42,420000,10000,0,0,208,32,20,4096,24,0,0,0,65536,0,0,65536,0,0
|
||||
43,430000,10000,0,0,177,36,19,4096,24,0,0,0,65536,0,0,65536,0,0
|
||||
44,440000,10000,0,0,199,42,20,4096,24,0,0,0,65536,0,0,65536,0,0
|
||||
45,450000,10000,0,0,223,47,19,4096,30,0,0,0,65536,0,0,65536,0,0
|
||||
46,460000,10000,0,0,202,50,17,4096,67,0,0,0,65536,0,0,65536,0,0
|
||||
47,470000,10000,0,0,218,57,18,4096,198,0,0,0,65536,0,0,65536,0,0
|
||||
48,480000,10000,0,0,221,60,20,4096,350,0,0,0,65536,0,0,65536,0,0
|
||||
49,490000,10000,0,0,225,66,20,4096,528,0,0,0,65536,0,0,65536,0,0
|
||||
50,500000,10000,0,0,214,69,21,4096,694,0,0,0,65536,0,0,65536,0,0
|
||||
51,510000,10000,0,0,227,71,23,4096,883,0,0,0,65536,0,0,65536,0,0
|
||||
52,520000,10000,0,0,208,71,23,4096,1043,0,0,0,65536,0,0,65536,0,0
|
||||
53,530000,10000,0,0,207,71,25,4096,1202,0,0,0,65536,0,0,65536,0,0
|
||||
54,540000,10000,0,0,200,71,26,4096,1319,0,0,0,65536,0,0,65536,0,0
|
||||
55,550000,10000,0,0,205,72,27,4096,1464,0,0,0,65536,0,0,65536,0,0
|
||||
56,560000,10000,0,0,211,73,27,4096,1620,0,0,0,65536,0,0,65536,0,0
|
||||
57,570000,10000,0,0,193,80,28,4096,1712,0,0,0,65536,0,0,65536,0,0
|
||||
58,580000,10000,0,0,185,4,61,4096,1757,0,0,0,65536,0,0,65536,0,0
|
||||
59,590000,10000,0,0,81,7,32,4096,1757,0,0,0,65536,0,0,65536,0,0
|
||||
60,600000,10000,0,0,52,10,28,4096,1757,0,0,0,65536,0,0,65536,0,0
|
||||
61,610000,10000,0,0,63,17,25,4096,1757,0,0,0,65536,0,0,65536,0,0
|
||||
62,620000,10000,0,0,85,19,24,4096,1757,0,0,0,65536,0,0,65536,0,0
|
||||
63,630000,10000,0,0,68,20,23,4096,1757,0,0,0,65536,0,0,65536,0,0
|
||||
64,640000,10000,0,0,39,20,23,4096,1757,0,0,0,65536,0,0,65536,0,0
|
||||
65,650000,10000,0,0,45,20,25,4096,1757,0,0,0,65536,0,0,65536,0,0
|
||||
66,660000,10000,0,0,42,20,29,4096,1757,0,0,0,65536,0,0,65536,0,0
|
||||
67,670000,10000,0,0,47,20,31,4096,1757,0,0,0,65536,0,0,65536,0,0
|
||||
68,680000,10000,0,0,43,20,34,4096,1757,0,0,0,65536,0,0,65536,0,0
|
||||
69,690000,10000,0,0,48,20,35,4096,1757,0,0,0,65536,0,0,65536,0,0
|
||||
70,700000,10000,0,0,48,21,38,4096,1757,0,0,0,65536,0,0,65536,0,0
|
||||
71,710000,10000,0,0,44,22,39,4096,1757,0,0,0,65536,0,0,65536,0,0
|
||||
72,720000,10000,0,0,130,24,27,4096,1757,0,0,0,65536,0,0,65536,0,0
|
||||
73,730000,10000,0,0,134,26,21,4096,1757,0,0,0,65536,0,0,65536,0,0
|
||||
1,10000,18446744073708831616,0,0,117,4,4,4096,0,0,4895412794951728796,13,65536,0,0,65536,0,0
|
||||
2,20000,10000,0,0,78,10,7,4096,0,0,0,17,65536,0,0,65536,0,0
|
||||
3,30000,10000,0,0,101,13,7,4096,0,0,0,22,65536,0,0,65536,0,0
|
||||
4,40000,10000,0,0,63,19,8,4096,0,0,0,25,65536,0,0,65536,0,0
|
||||
5,50000,10000,0,0,92,25,8,4096,2,0,0,31,65536,0,0,65536,0,0
|
||||
6,60000,10000,0,0,64,27,8,4096,2,0,0,36,65536,0,0,65536,0,0
|
||||
7,70000,10000,0,0,228,32,8,4096,210,0,0,115,65536,0,0,65536,0,0
|
||||
8,80000,10000,0,0,256,34,9,4096,466,0,0,209,65536,0,0,65536,0,0
|
||||
9,90000,10000,0,0,256,36,10,4096,722,0,0,303,65536,0,0,65536,0,0
|
||||
10,100000,10000,0,0,256,36,11,4096,978,0,0,396,65536,0,0,65536,0,0
|
||||
11,110000,10000,0,0,256,36,11,4096,1234,0,0,488,65536,0,0,65536,0,0
|
||||
12,120000,10000,0,0,256,36,12,4096,1490,0,0,581,65536,0,0,65536,0,0
|
||||
13,130000,10000,0,0,256,37,12,4096,1746,0,0,674,65536,0,0,65536,0,0
|
||||
14,140000,10000,0,0,230,39,12,4096,1949,0,0,750,65536,0,0,65536,0,0
|
||||
15,150000,10000,0,0,256,39,13,4096,2204,0,0,844,65536,0,0,65536,0,0
|
||||
16,160000,10000,0,0,256,39,14,4096,2459,0,0,937,65536,0,0,65536,0,0
|
||||
17,170000,10000,0,0,256,39,15,4096,2713,0,0,1030,65536,0,0,65536,0,0
|
||||
18,180000,10000,0,0,256,39,15,4096,2969,0,0,1124,65536,0,0,65536,0,0
|
||||
19,190000,10000,0,0,256,39,16,4096,3224,0,0,1219,65536,0,1,65536,0,0
|
||||
20,200000,10000,0,0,256,41,17,4096,3480,0,0,1313,65536,0,1,65536,0,0
|
||||
21,210000,10000,0,0,256,41,17,4096,3736,0,0,1408,65536,0,1,65536,0,0
|
||||
22,220000,10000,0,0,256,41,18,4096,3992,0,0,1502,65536,0,1,65536,0,0
|
||||
23,230000,10000,0,0,256,41,19,4096,4096,0,0,1596,65536,0,1,65536,0,0
|
||||
24,240000,10000,0,0,256,41,20,4096,4096,0,0,1689,65536,0,1,65536,0,0
|
||||
25,250000,10000,0,0,256,43,20,2048,2048,0,0,1787,65536,0,1,65536,0,0
|
||||
26,260000,10000,0,0,256,45,21,2048,2048,0,0,1883,65536,0,1,65536,0,0
|
||||
27,270000,10000,0,0,256,45,22,1024,1024,0,0,1976,65536,0,1,65536,0,0
|
||||
28,280000,10000,0,0,256,45,23,1024,1024,0,0,2069,65536,0,1,65536,0,0
|
||||
29,290000,10000,0,0,256,45,24,512,512,0,0,2162,65536,0,1,65536,0,0
|
||||
30,300000,10000,0,0,256,45,24,512,512,0,0,2255,65536,0,1,65536,0,0
|
||||
31,310000,10000,0,0,256,45,25,256,256,0,0,2349,65536,0,1,65536,0,0
|
||||
32,320000,10000,0,0,255,45,26,256,256,0,0,2440,65536,0,1,65536,0,0
|
||||
33,330000,10000,0,0,256,45,27,256,256,0,0,2533,65536,0,1,65536,0,0
|
||||
34,340000,10000,0,0,256,45,27,256,256,0,0,2625,65536,0,1,65536,0,0
|
||||
35,350000,10000,0,0,256,45,28,256,256,0,0,2719,65536,0,1,65536,0,0
|
||||
36,360000,10000,0,0,256,45,29,256,256,0,0,2812,65536,0,1,65536,0,0
|
||||
|
@@ -0,0 +1,110 @@
|
||||
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
|
||||
1,10000,10000,0,0,183,4,45,731,731,0,0,0,65536,0,0,65536,0,0
|
||||
2,20000,10000,0,0,173,5,44,582,582,0,0,0,65536,0,0,65536,0,0
|
||||
3,30000,10000,0,0,184,6,60,582,582,0,0,0,65536,0,0,65536,0,0
|
||||
4,40000,10000,0,0,174,8,71,4096,0,0,0,0,65536,0,0,65536,0,0
|
||||
5,50000,10000,0,0,150,9,78,582,582,0,0,0,65536,0,0,65536,0,0
|
||||
6,60000,10000,0,0,159,11,73,4096,0,0,0,0,65536,0,0,65536,0,0
|
||||
7,70000,10000,0,0,188,15,71,685,685,0,0,0,65536,0,0,65536,0,0
|
||||
8,80000,10000,0,0,214,16,83,685,685,0,0,0,65536,0,0,65536,0,0
|
||||
9,90000,10000,0,0,216,19,82,4096,0,0,0,0,65536,0,0,65536,0,0
|
||||
10,100000,10000,0,0,222,21,84,567,567,0,0,0,65536,0,0,65536,0,0
|
||||
11,110000,10000,0,0,207,23,86,731,731,0,0,0,65536,0,0,65536,0,0
|
||||
12,120000,10000,0,0,189,26,83,4096,0,0,0,0,65536,0,0,65536,0,0
|
||||
13,130000,10000,0,0,221,28,80,731,731,0,0,0,65536,0,0,65536,0,0
|
||||
14,140000,10000,0,0,204,29,83,685,685,0,0,0,65536,0,0,65536,0,0
|
||||
15,150000,10000,0,0,203,30,82,731,731,0,0,0,65536,0,0,65536,0,0
|
||||
16,160000,10000,0,0,201,32,83,567,567,0,0,0,65536,0,0,65536,0,0
|
||||
17,170000,10000,0,0,190,34,86,731,731,0,0,0,65536,0,0,65536,0,0
|
||||
18,180000,10000,0,0,170,35,73,582,582,0,0,0,65536,0,0,65536,0,0
|
||||
19,190000,10000,0,0,154,35,40,731,731,0,0,0,65536,0,0,65536,0,0
|
||||
20,200000,10000,0,0,154,35,38,567,567,0,0,0,65536,0,0,65536,0,0
|
||||
21,210000,10000,0,0,153,38,37,4096,0,0,0,0,65536,0,0,65536,0,0
|
||||
22,220000,10000,0,0,167,38,38,582,582,0,0,0,65536,0,0,65536,0,0
|
||||
23,230000,10000,0,0,176,12,40,685,685,0,0,0,65536,0,0,65536,0,0
|
||||
24,240000,10000,0,0,175,10,25,731,731,0,0,0,65536,0,0,65536,0,0
|
||||
25,250000,10000,0,0,196,11,23,731,731,0,0,0,65536,0,0,65536,0,0
|
||||
26,260000,10000,0,0,192,14,24,4096,0,0,0,0,65536,0,0,65536,0,0
|
||||
27,270000,10000,0,0,158,16,30,685,685,0,0,0,65536,0,0,65536,0,0
|
||||
28,280000,10000,0,0,158,17,23,4096,0,0,0,0,65536,0,0,65536,0,0
|
||||
29,290000,10000,0,0,164,17,27,4096,0,0,0,0,65536,0,0,65536,0,0
|
||||
30,300000,10000,0,0,154,18,26,685,685,0,0,0,65536,0,0,65536,0,0
|
||||
31,310000,10000,0,0,172,6,25,582,582,0,0,0,65536,0,0,65536,0,0
|
||||
32,320000,10000,0,0,180,9,22,567,567,0,0,0,65536,0,0,65536,0,0
|
||||
33,330000,10000,0,0,145,11,29,567,567,0,0,0,65536,0,0,65536,0,0
|
||||
34,340000,10000,0,0,203,14,30,582,582,0,0,0,65536,0,0,65536,0,0
|
||||
35,350000,10000,0,0,154,16,36,731,731,0,0,0,65536,0,0,65536,0,0
|
||||
36,360000,10000,0,0,144,18,32,4096,0,0,0,0,65536,0,0,65536,0,0
|
||||
37,370000,10000,0,0,144,18,29,4096,0,0,0,0,65536,0,0,65536,0,0
|
||||
38,380000,10000,0,0,132,18,28,4096,0,0,0,0,65536,0,0,65536,0,0
|
||||
39,390000,10000,0,0,180,18,24,4096,0,0,0,0,65536,0,0,65536,0,0
|
||||
40,400000,10000,0,0,220,23,20,4096,0,0,0,0,65536,0,0,65536,0,0
|
||||
41,410000,10000,0,0,215,25,19,4096,24,0,0,0,65536,0,0,65536,0,0
|
||||
42,420000,10000,0,0,208,32,20,4096,24,0,0,0,65536,0,0,65536,0,0
|
||||
43,430000,10000,0,0,177,36,19,4096,24,0,0,0,65536,0,0,65536,0,0
|
||||
44,440000,10000,0,0,199,42,20,4096,24,0,0,0,65536,0,0,65536,0,0
|
||||
45,450000,10000,0,0,223,47,19,4096,30,0,0,0,65536,0,0,65536,0,0
|
||||
46,460000,10000,0,0,202,50,17,4096,67,0,0,0,65536,0,0,65536,0,0
|
||||
47,470000,10000,0,0,218,57,18,4096,198,0,0,0,65536,0,0,65536,0,0
|
||||
48,480000,10000,0,0,221,60,20,4096,350,0,0,0,65536,0,0,65536,0,0
|
||||
49,490000,10000,0,0,225,66,20,4096,528,0,0,0,65536,0,0,65536,0,0
|
||||
50,500000,10000,0,0,214,69,21,4096,694,0,0,0,65536,0,0,65536,0,0
|
||||
51,510000,10000,0,0,227,71,23,4096,883,0,0,0,65536,0,0,65536,0,0
|
||||
52,520000,10000,0,0,208,71,23,4096,1043,0,0,0,65536,0,0,65536,0,0
|
||||
53,530000,10000,0,0,207,71,25,4096,1202,0,0,0,65536,0,0,65536,0,0
|
||||
54,540000,10000,0,0,200,71,26,4096,1319,0,0,0,65536,0,0,65536,0,0
|
||||
55,550000,10000,0,0,205,72,27,4096,1464,0,0,0,65536,0,0,65536,0,0
|
||||
56,560000,10000,0,0,211,73,27,4096,1620,0,0,0,65536,0,0,65536,0,0
|
||||
57,570000,10000,0,0,193,80,28,4096,1712,0,0,0,65536,0,0,65536,0,0
|
||||
58,580000,10000,0,0,185,4,61,4096,1757,0,0,0,65536,0,0,65536,0,0
|
||||
59,590000,10000,0,0,81,7,32,4096,1757,0,0,0,65536,0,0,65536,0,0
|
||||
60,600000,10000,0,0,52,10,28,4096,1757,0,0,0,65536,0,0,65536,0,0
|
||||
61,610000,10000,0,0,63,17,25,4096,1757,0,0,0,65536,0,0,65536,0,0
|
||||
62,620000,10000,0,0,85,19,24,4096,1757,0,0,0,65536,0,0,65536,0,0
|
||||
63,630000,10000,0,0,68,20,23,4096,1757,0,0,0,65536,0,0,65536,0,0
|
||||
64,640000,10000,0,0,39,20,23,4096,1757,0,0,0,65536,0,0,65536,0,0
|
||||
65,650000,10000,0,0,45,20,25,4096,1757,0,0,0,65536,0,0,65536,0,0
|
||||
66,660000,10000,0,0,42,20,29,4096,1757,0,0,0,65536,0,0,65536,0,0
|
||||
67,670000,10000,0,0,47,20,31,4096,1757,0,0,0,65536,0,0,65536,0,0
|
||||
68,680000,10000,0,0,43,20,34,4096,1757,0,0,0,65536,0,0,65536,0,0
|
||||
69,690000,10000,0,0,48,20,35,4096,1757,0,0,0,65536,0,0,65536,0,0
|
||||
70,700000,10000,0,0,48,21,38,4096,1757,0,0,0,65536,0,0,65536,0,0
|
||||
71,710000,10000,0,0,44,22,39,4096,1757,0,0,0,65536,0,0,65536,0,0
|
||||
72,720000,10000,0,0,130,24,27,4096,1757,0,0,0,65536,0,0,65536,0,0
|
||||
73,730000,10000,0,0,134,26,21,4096,1757,0,0,0,65536,0,0,65536,0,0
|
||||
1,10000,18446744073708831616,0,0,117,4,4,4096,0,0,4895412794951728796,9,65536,0,0,65536,0,0
|
||||
2,20000,10000,0,0,78,10,7,4096,0,0,0,12,65536,0,0,65536,0,0
|
||||
3,30000,10000,0,0,101,13,7,4096,0,0,0,15,65536,0,0,65536,0,0
|
||||
4,40000,10000,0,0,63,19,8,4096,0,0,0,17,65536,0,0,65536,0,0
|
||||
5,50000,10000,0,0,92,25,8,4096,2,0,0,21,65536,0,0,65536,0,0
|
||||
6,60000,10000,0,0,64,27,8,4096,2,0,0,24,65536,0,0,65536,0,0
|
||||
7,70000,10000,0,0,228,32,8,4096,210,0,0,64,65536,0,0,65536,0,0
|
||||
8,80000,10000,0,0,256,34,9,4096,466,0,0,115,65536,0,0,65536,0,0
|
||||
9,90000,10000,0,0,256,36,10,4096,722,0,0,169,65536,0,0,65536,0,0
|
||||
10,100000,10000,0,0,256,36,11,4096,978,0,0,220,65536,0,0,65536,0,0
|
||||
11,110000,10000,0,0,256,36,11,4096,1234,0,0,271,65536,0,0,65536,0,0
|
||||
12,120000,10000,0,0,256,36,12,4096,1490,0,0,327,65536,0,0,65536,0,0
|
||||
13,130000,10000,0,0,256,37,12,4096,1746,0,0,381,65536,0,0,65536,0,0
|
||||
14,140000,10000,0,0,230,39,12,4096,1949,0,0,425,65536,0,0,65536,0,0
|
||||
15,150000,10000,0,0,256,39,13,4096,2204,0,0,476,65536,0,0,65536,0,0
|
||||
16,160000,10000,0,0,256,39,14,4096,2459,0,0,523,65536,0,0,65536,0,0
|
||||
17,170000,10000,0,0,256,39,15,4096,2713,0,0,576,65536,0,0,65536,0,0
|
||||
18,180000,10000,0,0,256,39,15,4096,2969,0,0,624,65536,0,0,65536,0,0
|
||||
19,190000,10000,0,0,256,39,16,4096,3224,0,0,676,65536,0,1,65536,0,0
|
||||
20,200000,10000,0,0,256,41,17,4096,3480,0,0,730,65536,0,1,65536,0,0
|
||||
21,210000,10000,0,0,256,41,17,4096,3736,0,0,785,65536,0,1,65536,0,0
|
||||
22,220000,10000,0,0,256,41,18,4096,3992,0,0,840,65536,0,1,65536,0,0
|
||||
23,230000,10000,0,0,256,41,19,4096,4096,0,0,895,65536,0,1,65536,0,0
|
||||
24,240000,10000,0,0,256,41,20,4096,4096,0,0,950,65536,0,1,65536,0,0
|
||||
25,250000,10000,0,0,256,43,20,2048,2048,0,0,1003,65536,0,1,65536,0,0
|
||||
26,260000,10000,0,0,256,45,21,2048,2048,0,0,1057,65536,0,1,65536,0,0
|
||||
27,270000,10000,0,0,256,45,22,1024,1024,0,0,1106,65536,0,1,65536,0,0
|
||||
28,280000,10000,0,0,256,45,23,1024,1024,0,0,1161,65536,0,1,65536,0,0
|
||||
29,290000,10000,0,0,256,45,24,512,512,0,0,1216,65536,0,1,65536,0,0
|
||||
30,300000,10000,0,0,256,45,24,512,512,0,0,1271,65536,0,1,65536,0,0
|
||||
31,310000,10000,0,0,256,45,25,256,256,0,0,1326,65536,0,1,65536,0,0
|
||||
32,320000,10000,0,0,255,45,26,256,256,0,0,1380,65536,0,1,65536,0,0
|
||||
33,330000,10000,0,0,256,45,27,256,256,0,0,1435,65536,0,1,65536,0,0
|
||||
34,340000,10000,0,0,256,45,27,256,256,0,0,1485,65536,0,1,65536,0,0
|
||||
35,350000,10000,0,0,256,45,28,256,256,0,0,1533,65536,0,1,65536,0,0
|
||||
36,360000,10000,0,0,256,45,29,256,256,0,0,1589,65536,0,1,65536,0,0
|
||||
|
@@ -71,6 +71,17 @@ void console_init(void);
|
||||
#include "framebuffer.h"
|
||||
void console_fb_init(const FramebufferInfo *info, FbPixelFormat fmt);
|
||||
|
||||
/**
|
||||
* FABRIC.md item 4.4j: switch the framebuffer console's glyph backend from
|
||||
* font_8x16.c to TTF-TEXT's rasterizer. Thin wrapper over
|
||||
* vt100_enable_ttf() -- see that function's doc comment for the full
|
||||
* contract (lazy font load, cell-geometry/cols/rows recompute, screen
|
||||
* clear, one-shot). No-op if the framebuffer console was never
|
||||
* initialized (console_fb_init() not called, or it no-op'd on a NULL
|
||||
* framebuffer).
|
||||
*/
|
||||
void console_fb_enable_ttf(void);
|
||||
|
||||
/**
|
||||
* Write a single character to serial console
|
||||
*/
|
||||
|
||||
@@ -60,6 +60,19 @@
|
||||
*/
|
||||
void vt100_init(void);
|
||||
|
||||
/**
|
||||
* FABRIC.md item 4.4j: switch the glyph-draw backend from font_8x16.c to
|
||||
* TTF-TEXT's rasterizer for everything drawn from this call onward --
|
||||
* boot/POST output before this call stays font_8x16.c, unaffected.
|
||||
* Lazily loads the font capsule and its raster cache on first call
|
||||
* (no-op on later calls). Recomputes cols/rows for the new cell size and
|
||||
* clears the screen, since the two glyph backends use different cell
|
||||
* dimensions. Provisional TTF point size/cell dimensions -- FABRIC.md
|
||||
* item 4.4m owns the final decision. No-op if the font capsule fails to
|
||||
* load (stays on font_8x16.c; logged, not fatal).
|
||||
*/
|
||||
void vt100_enable_ttf(void);
|
||||
|
||||
/* -----------------------------------------------------------------------
|
||||
* Character output
|
||||
* --------------------------------------------------------------------- */
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -296,6 +296,13 @@ void console_fb_init(const FramebufferInfo *info, FbPixelFormat fmt)
|
||||
}
|
||||
}
|
||||
|
||||
void console_fb_enable_ttf(void)
|
||||
{
|
||||
if (fb_is_available()) {
|
||||
vt100_enable_ttf();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Read a single character from serial console (non-blocking)
|
||||
* Returns -1 if no character available
|
||||
|
||||
+143
-11
@@ -40,14 +40,47 @@
|
||||
|
||||
#include "vt100.h"
|
||||
#include "framebuffer.h"
|
||||
#include "starkernel/ttf.h"
|
||||
#include "starkernel/capsule_generated.h"
|
||||
#include "starkernel/kmalloc.h"
|
||||
#include "log.h"
|
||||
#include <stdint.h>
|
||||
|
||||
/* Maximum CSI parameters */
|
||||
#define VT100_MAX_PARAMS 16
|
||||
|
||||
/* Underline scanline (row 14 of 16) */
|
||||
/* Underline scanline (row 14 of 16) -- font_8x16 mode only; see
|
||||
* draw_cursor_glyph()'s mode split. */
|
||||
#define UNDERLINE_ROW 14u
|
||||
|
||||
/* -----------------------------------------------------------------------
|
||||
* FABRIC.md item 4.4j: TTF glyph backend, active only from
|
||||
* vt100_enable_ttf() onward (boot/POST stays font_8x16.c).
|
||||
*
|
||||
* Provisional point size and cell geometry -- item 4.4m owns the final
|
||||
* REPL-strip decision. Chosen so 4.4i's confirmed hmtx result (all
|
||||
* printable ASCII share one 600/1000-em advance width) divides evenly:
|
||||
* 600/1000 * 20 = 12px exactly, no fractional-pixel cell width. Cell
|
||||
* height is size + a fixed descender/leading allowance, not derived from
|
||||
* hhea (not read by this parser -- see ttf.h) -- provisional like the
|
||||
* width.
|
||||
* --------------------------------------------------------------------- */
|
||||
#define VT100_TTF_SIZE_PX 20u
|
||||
#define VT100_TTF_CELL_W_PX 12u /* 600/1000 * VT100_TTF_SIZE_PX */
|
||||
#define VT100_TTF_CELL_H_PX 24u /* provisional: size + 4px leading/descender */
|
||||
#define VT100_TTF_CACHE_SLOTS 96u /* covers all 95 printable ASCII, no thrash */
|
||||
#define VT100_TTF_FONT_CAPSULE "fonts:JetBrainsMono-Regular.ttf"
|
||||
|
||||
typedef enum {
|
||||
VT_GLYPH_BITMAP = 0, /* font_8x16.c, via fb_draw_glyph() */
|
||||
VT_GLYPH_TTF = 1, /* TTF-TEXT's rasterizer, via ttf_draw_glyph_cell() */
|
||||
} vt_glyph_mode_t;
|
||||
|
||||
static vt_glyph_mode_t g_glyph_mode = VT_GLYPH_BITMAP;
|
||||
static ttf_font_t g_ttf_font;
|
||||
static int g_ttf_ready = 0;
|
||||
static ttf_raster_cache_t g_ttf_cache;
|
||||
|
||||
/* -----------------------------------------------------------------------
|
||||
* Parser state enum
|
||||
* --------------------------------------------------------------------- */
|
||||
@@ -110,9 +143,13 @@ static void apply_sgr(void);
|
||||
* Internal helpers
|
||||
* --------------------------------------------------------------------- */
|
||||
|
||||
/* Framebuffer cell dimensions (pixels) — reads from framebuffer driver */
|
||||
static uint32_t cell_w(void) { return fb_cell_w(); }
|
||||
static uint32_t cell_h(void) { return fb_cell_h(); }
|
||||
/* Cell dimensions (pixels) — font_8x16.c's fixed 8x16 grid in bitmap mode,
|
||||
* or the provisional TTF cell (4.4j) once vt100_enable_ttf() has switched
|
||||
* modes. Mode-aware per 4.4i's finding that the grid was hardcoded to
|
||||
* font_8x16.c specifically; this is the generalization that item called
|
||||
* for. */
|
||||
static uint32_t cell_w(void) { return g_glyph_mode == VT_GLYPH_TTF ? VT100_TTF_CELL_W_PX : fb_cell_w(); }
|
||||
static uint32_t cell_h(void) { return g_glyph_mode == VT_GLYPH_TTF ? VT100_TTF_CELL_H_PX : fb_cell_h(); }
|
||||
|
||||
/* Pixel position of the top-left corner of character cell (cx, cy) */
|
||||
static uint32_t px_of(uint32_t col) { return col * cell_w(); }
|
||||
@@ -122,6 +159,46 @@ static uint32_t py_of(uint32_t row) { return row * cell_h(); }
|
||||
static uint32_t eff_fg(void) { return g_vt.reverse ? g_vt.bg : g_vt.fg; }
|
||||
static uint32_t eff_bg(void) { return g_vt.reverse ? g_vt.fg : g_vt.bg; }
|
||||
|
||||
/* Draw one glyph via the TTF rasterizer into the cell at pixel (cell_px,
|
||||
* cell_py). Mirrors fb_draw_glyph()'s opaque-cell contract (every pixel in
|
||||
* the cell gets either fg or bg, not just the glyph's "ink") by filling
|
||||
* the whole cell with bg first, then stamping covered bitmap pixels with
|
||||
* fg. Baseline sits VT100_TTF_SIZE_PX down from the cell's top, matching
|
||||
* TTF-TEXT's own bitmap-origin convention (ttf.h's
|
||||
* "glyph baseline sits at pixel (MARGIN, size_px + MARGIN)"). Bitmap
|
||||
* pixels are clipped to the cell rect -- a glyph's rasterized bounds can
|
||||
* slightly exceed the nominal advance width, and cells must stay opaque
|
||||
* neighbors, not bleed into each other. */
|
||||
static void ttf_draw_glyph_cell(uint32_t cell_px, uint32_t cell_py, uint8_t ch,
|
||||
uint32_t fg, uint32_t bg)
|
||||
{
|
||||
ttf_bitmap_t bmp;
|
||||
int rc, was_hit;
|
||||
uint32_t bx, by;
|
||||
uint32_t baseline_y = cell_py + VT100_TTF_SIZE_PX;
|
||||
|
||||
fb_fill_rect(cell_px, cell_py, cell_w(), cell_h(), bg);
|
||||
|
||||
if (!g_ttf_ready) return; /* shouldn't happen once VT_GLYPH_TTF is set, defensive only */
|
||||
|
||||
rc = ttf_raster_cache_get(&g_ttf_cache, &g_ttf_font, (uint32_t)ch,
|
||||
VT100_TTF_SIZE_PX, &bmp, &was_hit);
|
||||
if (rc != TTF_OK) return; /* missing/unrasterizable glyph -- leave cell blank (bg only) */
|
||||
|
||||
for (by = 0; by < bmp.height; by++) {
|
||||
int32_t fb_y = (int32_t)baseline_y + (int32_t)by
|
||||
- (int32_t)VT100_TTF_SIZE_PX - TTF_CACHE_MARGIN;
|
||||
if (fb_y < (int32_t)cell_py || fb_y >= (int32_t)(cell_py + cell_h())) continue;
|
||||
for (bx = 0; bx < bmp.width; bx++) {
|
||||
int32_t fb_x = (int32_t)cell_px + (int32_t)bx - TTF_CACHE_MARGIN;
|
||||
if (fb_x < (int32_t)cell_px || fb_x >= (int32_t)(cell_px + cell_w())) continue;
|
||||
if (bmp.pixels[by * bmp.width + bx]) {
|
||||
fb_put_pixel((uint32_t)fb_x, (uint32_t)fb_y, fg);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void draw_cursor_glyph(uint8_t ch)
|
||||
{
|
||||
uint32_t f = eff_fg();
|
||||
@@ -138,11 +215,22 @@ static void draw_cursor_glyph(uint8_t ch)
|
||||
f = FB_RGB(r, g, bv);
|
||||
}
|
||||
|
||||
fb_draw_glyph(px_of(g_vt.cx), py_of(g_vt.cy), ch, f, b);
|
||||
if (g_glyph_mode == VT_GLYPH_TTF) {
|
||||
ttf_draw_glyph_cell(px_of(g_vt.cx), py_of(g_vt.cy), ch, f, b);
|
||||
} else {
|
||||
fb_draw_glyph(px_of(g_vt.cx), py_of(g_vt.cy), ch, f, b);
|
||||
}
|
||||
|
||||
if (g_vt.underline) {
|
||||
uint32_t scale = cell_h() / 16u;
|
||||
uint32_t ul_y = py_of(g_vt.cy) + UNDERLINE_ROW * scale;
|
||||
/* font_8x16 mode: underline sits at UNDERLINE_ROW (row 14 of 16)
|
||||
* of that font's fixed grid, scaled. TTF mode: no equivalent fixed
|
||||
* row exists (this parser doesn't read hhea underline metrics --
|
||||
* see ttf.h) -- placed 2px below the baseline instead, a
|
||||
* provisional choice like the rest of 4.4j's TTF cell geometry. */
|
||||
uint32_t scale = g_glyph_mode == VT_GLYPH_TTF ? 1u : cell_h() / 16u;
|
||||
uint32_t ul_y = g_glyph_mode == VT_GLYPH_TTF
|
||||
? py_of(g_vt.cy) + VT100_TTF_SIZE_PX + 2u
|
||||
: py_of(g_vt.cy) + UNDERLINE_ROW * scale;
|
||||
fb_fill_rect(px_of(g_vt.cx), ul_y, cell_w(), scale, f);
|
||||
}
|
||||
}
|
||||
@@ -195,6 +283,45 @@ void vt100_init(void)
|
||||
erase_display(2);
|
||||
}
|
||||
|
||||
void vt100_enable_ttf(void)
|
||||
{
|
||||
if (g_glyph_mode == VT_GLYPH_TTF) return; /* already switched */
|
||||
if (!g_vt.initialized) return;
|
||||
|
||||
if (!g_ttf_ready) {
|
||||
ttf_raster_cache_slot_t *slots;
|
||||
int rc;
|
||||
|
||||
rc = ttf_load_from_capsule(capsule_get_directory(), capsule_get_descriptors(),
|
||||
capsule_get_names(), capsule_get_arena(),
|
||||
VT100_TTF_FONT_CAPSULE, &g_ttf_font);
|
||||
if (rc != TTF_OK) {
|
||||
log_message(LOG_ERROR, "vt100: TTF font capsule load failed (rc=%d), staying on font_8x16", rc);
|
||||
return;
|
||||
}
|
||||
|
||||
slots = (ttf_raster_cache_slot_t *)kmalloc(sizeof(ttf_raster_cache_slot_t) * VT100_TTF_CACHE_SLOTS);
|
||||
if (!slots) {
|
||||
log_message(LOG_ERROR, "vt100: TTF cache allocation failed, staying on font_8x16");
|
||||
return;
|
||||
}
|
||||
ttf_raster_cache_init(&g_ttf_cache, slots, VT100_TTF_CACHE_SLOTS);
|
||||
g_ttf_ready = 1;
|
||||
}
|
||||
|
||||
g_glyph_mode = VT_GLYPH_TTF;
|
||||
|
||||
/* Cell geometry just changed (font_8x16's fixed 8x16 vs. TTF's
|
||||
* provisional 12x24, see this file's 4.4j block above) -- re-derive
|
||||
* cols/rows and clear, the same as vt100_init() itself does. This only
|
||||
* ever runs once, at the POST-to-REPL boundary (sk_repl()), so nothing
|
||||
* of value is on screen yet to preserve. */
|
||||
g_vt.cols = fb_width() / cell_w();
|
||||
g_vt.rows = fb_height() / cell_h();
|
||||
g_vt.cx = g_vt.cy = 0;
|
||||
erase_display(2);
|
||||
}
|
||||
|
||||
uint32_t vt100_cols(void) { return g_vt.cols; }
|
||||
uint32_t vt100_rows(void) { return g_vt.rows; }
|
||||
|
||||
@@ -232,12 +359,17 @@ static void scroll_up(uint32_t lines)
|
||||
* Erase operations
|
||||
* --------------------------------------------------------------------- */
|
||||
|
||||
/* FABRIC.md item 4.4i found this drawing a per-cell blank glyph
|
||||
* (font_8x16.c-specific, and inconsistent with erase_display(2)'s
|
||||
* full-screen case just below, which already used a plain rect fill).
|
||||
* 4.4j fixes both problems at once: a blank cell is visually identical to
|
||||
* a filled bg rect regardless of glyph backend, so this needs no font
|
||||
* involvement at all -- one fb_fill_rect() for the whole range instead of
|
||||
* a per-column glyph draw. */
|
||||
static void erase_line_range(uint32_t row, uint32_t c0, uint32_t c1)
|
||||
{
|
||||
uint32_t c;
|
||||
for (c = c0; c < c1; c++) {
|
||||
fb_draw_glyph(px_of(c), py_of(row), 0x20, g_vt.fg, g_vt.bg);
|
||||
}
|
||||
if (c1 <= c0) return;
|
||||
fb_fill_rect(px_of(c0), py_of(row), (c1 - c0) * cell_w(), cell_h(), g_vt.bg);
|
||||
}
|
||||
|
||||
static void erase_display(int mode)
|
||||
|
||||
@@ -268,6 +268,13 @@ void sk_repl_run(VM *vm)
|
||||
|
||||
void sk_repl(VM *vm)
|
||||
{
|
||||
/* FABRIC.md item 4.4j: boot and POST (both already returned by the time
|
||||
* sk_repl() is called) stay on font_8x16.c/VT100 by design; the
|
||||
* interactive REPL -- this function -- is the boundary where TTF-TEXT
|
||||
* takes over. One-shot: console_fb_enable_ttf() no-ops on any later
|
||||
* call. */
|
||||
console_fb_enable_ttf();
|
||||
|
||||
console_println(lithos_version);
|
||||
console_puts("StarForth Version "); console_println(STARFORTH_VERSION);
|
||||
console_println("");
|
||||
|
||||
Reference in New Issue
Block a user