hex/tables_init.fj

———- Init The Truth Tables:

View source on GitHub

Macros

hex

  • hex.init — Initialise every truth table that the hex.* macros depend on. Call this exactly once at program start; bundled into …

hex.tables

  • hex.tables.init_shared — Allocate the shared ret and res symbols used by every table-driven hex operation. Called once by hex.init.

  • hex.tables.init_all — Inner macro of hex.init — emits every per-operation hex.*.init block (or, and, mul, cmp, add, sub) in sequence. Don’t call this …

  • hex.tables.clean_table_entry__table/3 — Generic n-entry XOR-dispatch table: when jumped to at entry d, XORs d into dst and jumps to ret. n must be a power of two and the …

  • hex.tables.clean_table_entry__table/1 — A table. When jumping to entry d - it xors d into dst, and jumps to hex.tables.ret

  • hex.tables.jump_to_table_entry — Dispatch into a 256-padded table at entry (src<<4 | dst), then XOR hex.tables.res into dst on return. The hot path of every …