We define register allocation methods for enough instructions to get most of the way through bootstrapping.
To make register allocation simpler, we also introduce element types for lexical locations, so that we can identify locations which must be stored in general purpose registers or floating point registers.
The attribution system also accidentally identified a potential bug in restricting environments for macrolet expanders in Trucler, and we fixed the code (used to compute effective methods) which exhibited the bug, as it was probably incorrect.
We define register allocation methods for enough instructions to get most of the way through bootstrapping.
To make register allocation simpler, we also introduce element types for lexical locations, so that we can identify locations which must be stored in general purpose registers or floating point registers.
The attribution system also accidentally identified a potential bug in restricting environments for
macrolet
expanders in Trucler, and we fixed the code (used to compute effective methods) which exhibited the bug, as it was probably incorrect.