harpoon.Backend.Sparc
Class CodeGen
java.lang.Object
harpoon.Backend.Generic.CodeGen
harpoon.Backend.Generic.MaxMunchCG
harpoon.Backend.Sparc.CodeGen
public class CodeGen
- extends MaxMunchCG
Sparc.CodeGen
is a code-generator for the Sparc architecture.
- Version:
- $Id: CodeGen.spec,v 1.5 2004/02/08 01:57:49 cananian Exp $
- Author:
- C. Scott Ananian <cananian@alumni.princeton.edu>, Andrew Berkheimer <andyb@mit.edu>
Nested Class Summary |
class |
CodeGen.InstrCC
Sub-class to indicate dependencies on the condition code register
for later optimization. |
class |
CodeGen.InstrDELAYSLOT
Sub-class to represent delay-slots. |
Fields inherited from class harpoon.Backend.Generic.CodeGen |
frame |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
CodeGen
public CodeGen(Frame frame)
procFixup
public Instr procFixup(HMethod hm,
Instr instr,
int stackspace,
Set usedRegisters)
- Description copied from class:
CodeGen
- Fixes up the procedure entry and exit code for a list of instrs, once
it is known how many registers and how much stack space is used.
- Specified by:
procFixup
in class CodeGen
cgg_genCode
public final List cgg_genCode(Code code,
InstrFactory inf)
- Generates assembly code from a
harpoon.IR.Tree.Code
.
modifies: this
effects:
Scans tree
to find a tiling of
Instruction Patterns, calling auxillary methods
and data structures as defined in the .spec file.
Generates an associated Derivation
object as the second element of the returned
List
.
- Specified by:
cgg_genCode
in class CodeGen
- Parameters:
tree
- Set of abstract Tree
instructions
that form the body of the procedure being compiled.
- Returns:
- The head of a list of
Instr
s
cgg_genData
public final Instr cgg_genData(Data code,
InstrFactory inf)
- Generates assembly code from a
harpoon.IR.Tree.Data
.
modifies: this
effects:
Scans tree
to define a layout of
Instructions, calling auxillary methods
and data structures as defined in the .Spec file
- Specified by:
cgg_genData
in class CodeGen
- Parameters:
tree
- Set of abstract Tree
instructions
that form the body of the data structure being compiled.