chiark / gitweb /
math/gfreduce.c: Refactor and document.
There was an unfortunate amount of code duplication in the old code,
particularly around the issuing of LSR instruction sequences. Gather
the relevant state into a structure, and split the repeated code into
separate functions.
A casualty of this refactoring work is the work put into calculating the
`liv' slot in the `gfreduce' structure, carefully calculated to be a
pointer immediately after the first `STORE' instruction. Alas, this
information is completely useless.
Also add a bunch of commentary explaining the underlying theory.