The sweep over test/programs named its own next two nodes. (at grid r c) is one node with two indices and not two nodes — an array of arrays is contiguous, so the second index walks into the element the first landed on — and machine.flan is the program that says so. Then unions: MakeCase, CaseField and Match. The payload offset comes from lay_fields over the same two fields Emit.lay measures a union as, and a case's field offsets from lay_fields over that case's own fields, so there is still one layout calculator and this file is still a caller of it. match reads the tag and compares, an Option reads an i8 at offset 0 and a declared union an i32, and everything past the tag and the binds is shared — the arrangement emit.ml settled on, for the same reason. An exhausted match falls through to ud2 rather than to whatever follows. The checker proved it cannot happen; a defined SIGILL at the instruction that fell through costs two bytes and is the cheap half of item 15's question 4. machine.flan, bytes2.flan, array-ctor.flan and destructure.flan all agree with the LLVM build now.
Description
Languages
OCaml
67.2%
Emacs Lisp
15.2%
C
10.4%
HTML
2.9%
Standard ML
2.8%
Other
1.5%