Commit Graph

21 Commits

Author SHA1 Message Date
Gregor Lohaus
db5ee5d20d reuse scratch buffers when marshalling render cells
Each per-field cell getter wrapped its own Arena.ofConfined() (a native
alloc/free plus session bookkeeping) to hold a few output bytes. With ~6
downcalls per cell that is tens of thousands of confined arenas per frame on a
full screen, which profiling in jprototerm pinned as ~6-7ms/frame and the
dominant render cost.

Allocate the scalar out-segments (int, bool, color, style) plus a growable
graphemes buffer once per snapshot in a single Scratch, confined to the
single marshalling thread, and thread it through the cell getters. Also drop a
redundant List.copyOf of the per-row cell list (RenderRow's constructor already
makes the immutable copy) and reuse a shared empty-codepoints array.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-05-31 21:36:21 +02:00
Gregor Lohaus
68121d50b5 styling stuff 2026-05-29 20:32:09 +02:00
Gregor Lohaus
5bbba354ab finalize 2026-05-29 19:40:30 +02:00
Gregor Lohaus
a534914a9b expose dirty on render state for incremental rendering 2026-05-29 13:33:58 +02:00
Gregor Lohaus
d558d554b3 bytecode v25 2026-05-29 12:29:36 +02:00
Gregor Lohaus
482305a1af fix reachability metadata drift 2026-05-29 10:31:44 +02:00
Gregor Lohaus
eeac1d20d6 fix reachability metadata drift 2026-05-29 09:16:10 +02:00
Gregor Lohaus
c90ed9f9a5 readme update 2026-05-28 13:48:30 +02:00
Gregor Lohaus
39468748fd kitty placeholder mapping 2026-05-28 13:19:27 +02:00
Gregor Lohaus
acdda73c02 scrollback, mouse 2026-05-28 02:13:47 +02:00
Gregor Lohaus
f44df36687 terminal effect callback 2026-05-28 01:30:18 +02:00
Gregor Lohaus
0852e58086 expose cursor from render state 2026-05-27 19:47:28 +02:00
Gregor Lohaus
0a875910a0 expose color from render state 2026-05-27 19:44:03 +02:00
Gregor Lohaus
91e9ce5bb4 expose render state 2026-05-27 19:38:17 +02:00
Gregor Lohaus
aee4954edf expose formatter 2026-05-27 18:50:45 +02:00
Gregor Lohaus
eea4384300 codex session id 2026-05-27 15:41:39 +02:00
Gregor Lohaus
c077bcc6c0 everything 2026-05-27 14:56:04 +02:00
Gregor Lohaus
ff5c4f4ff9 kitty test 2026-05-27 14:44:19 +02:00
Gregor Lohaus
5285fb68c9 kitty graphics support 2026-05-27 14:33:41 +02:00
Gregor Lohaus
a03bc2ec48 graal conf 2026-05-27 14:11:20 +02:00
Gregor Lohaus
be0c0bb321 wip 2026-05-27 14:04:26 +02:00