Register banks for fusion-node queries #
The query uses a fixed register file. Header, compression, rank, neighbor, boundary, and multiword highest-bit workspaces occupy disjoint intervals. Explicit copies connect them.
Main definitions #
NodeProgram.registers,NodeProgram.query,NodeProgram.pointer,NodeProgram.out,NodeProgram.argument,NodeProgram.cut,NodeProgram.zero,NodeProgram.chosen,NodeProgram.divergence,NodeProgram.position: physical register count and caller registers.NodeProgram.bank,NodeProgram.headerBank,NodeProgram.compressBank,NodeProgram.rankBank,NodeProgram.neighborBank,NodeProgram.boundaryBank,NodeProgram.parameter,NodeProgram.count: contiguous subroutine register banks and header register indices.NodeProgram.Frame: memory and registers below forty are unchanged by a subroutine.NodeProgram.moves,NodeProgram.moved: charged register copies, with a terminal self-copy, and their resulting state.NodeProgram.Prepared: the actual eighteen loaded header words supply node parameters.
References #
Fixed physical register count, independent of width and node occupancy.
Instances For
Original bounded query.
Instances For
Original record address.
Instances For
Final full-key inclusive rank.
Instances For
Full word to compress, and later the compressed result.
Instances For
Initial inclusive sketch rank.
Instances For
Constant zero for control flow.
Instances For
Selected full key.
Instances For
Exclusive or of the selected full key and original query.
Instances For
Highest differing position on a miss.
Instances For
Contiguous register embeddings are injective.
In particular, a contiguous bank frames every physical register outside its interval.
Eighteen-word header reader, including its pointer and address scratch.
Instances For
Compression workspace.
Instances For
Inclusive or strict rank workspace.
Instances For
Two-neighbor loader and selector.
Instances For
Correction boundaries.
Instances For
Header register holding one of the fifteen stored preprocessing words.
Instances For
Header register holding occupancy.
Instances For
Memory and caller registers below forty agree. The direction follows execution.
Instances For
Frame is reflexive.
Frame is transitive.
Extending a subroutine state into a register bank at offset at least 40 preserves Frame.
Copy a finite sequence of registers, charging also a final self-copy of register 39. The final self-copy supplies an executable empty sequence without a special RAM primitive.
Instances For
Exact result of the charged copies.
Instances For
Literal values loaded from the actual header. This is a register contract, with no correctness, execution, or rank oracle among its fields.
Actual occupancy word.
Actual fifteen parameter words.
Instances For
The Prepared header invariant is preserved across Frame transitions.
Caller scratch registers zero through nine are disjoint from the loaded header.