Use a much simpler endian-independent execute cache mechanism.
Requires no changes to the SVM1 byte code, so existing unlinked .com
files will continue to work (except for those created in the past
couple hours with my big-endian bodge that entailed no changes to the
little-endian hack), although built bands will confuse the microcode
because what cmpint stores in execute caches in memory changed.
- Before linking, an execution cache is simply the two words, as
before on little-endian systems:
<frame size> (fixnum)
<name> (symbol)
- After linking, the frame size remains untouched and the name is
replaced by the untagged address of the target:
<frame size> (fixnum)
<target> (untagged)
- INVOCATION:UUO-LINK now generates an (indirect-jump (pc-relative
<cache>)) instruction, which already does the right thing:
dereferences PC + offset to find a instruction address, and then
jumps to that address.