Tree
form is our "portable assembly language"; a loosely-typed
non-register-allocated fine-grain representation that exposes all the
details of object representation, method invocation, and runtime
interfacing, which can easily be translated to the machine-specific
Instr
s of harpoon.IR.Assem
for register
allocation and scheduling before output.
The details of run-time organization and datatype representation are
abstracted away by the machine-specific Frame
, conforming
to the interface in harpoon.Backend.Generic.Frame
.
Frames are not entirely machine-specific; all machines with roughly
the same datatypes (for example, 32-bit words) which use the same
runtime implementation will be able to share large parts of a Frame
implementation.
See harpoon.Backend.Generic.Frame
for more details.
@author C. Scott Ananian