diff options
| author | eunhhu <[email protected]> | 2026-09-30 15:38:35 +0100 |
|---|---|---|
| committer | eunhhu <[email protected]> | 2026-09-30 15:38:35 +0100 |
| commit | ee21aec10726863d8e812643e1419e4b7d0f2b51 (patch) | |
| tree | d767735579d0901c9fe2e45ea7e34d66955c7f5f /serve/test-message-json.c | |
| parent | 57fc44fc853da1c271f287afde62cfb4077930d2 (diff) | |
| download | pure-ee21aec10726863d8e812643e1419e4b7d0f2b51.tar.gz pure-ee21aec10726863d8e812643e1419e4b7d0f2b51.zip | |
Say how i64 will be built, and what it must not slow down (016)
Before building i64: a value slot holds a number or an i64 in the same 8
bytes (the stack, states, list cells, locals, constants), moves copy the
bits and only computing opcodes look at the type; eleven opcodes are
appended (arithmetic that fails as overflow, floor division and modulo,
compare, min, max, the two conversions), CONST and NUM_TEXT take
argument 2, and type codes are added, so v6 stays. i64-keyed lists compare
as integers without guide keys for now; folds over i64 run item by item.
JSON and queries take plain integer digits in range; views, tables and
deliveries show every digit. u32 widens to i64; i64, numbers and bools do
not deliver to each other; replacing converts when the value fits.
It is in when every check is green and the number paths keep their
speed: bank queries and TPC-C (RAM) no more than 3% slower at the median
of six interleaved pairs.
Diffstat (limited to 'serve/test-message-json.c')
0 files changed, 0 insertions, 0 deletions
