harpoon.Backend.Maps
Interface BackendDerivation
- All Superinterfaces:
- Derivation, TypeMap
public interface BackendDerivation
- extends Derivation
BackendDerivation
provides, in addition to the type and
derivation information provided by Analysis.Maps.Derivation
,
a means to identify (polymorphically typed) callee-save registers.
Note that BackendDerivation
extends Derivation
,
so non-callee-save-register values will continue to have class and
derivation types. The typeMap()
and derivation()
functions should both return null
if the temporary in
question is holding a callee-save register value.
- Version:
- $Id: BackendDerivation.java,v 1.2 2002/02/25 21:01:55 cananian Exp $
- Author:
- C. Scott Ananian <cananian@alumni.princeton.edu>
Methods inherited from interface harpoon.Analysis.Maps.TypeMap |
typeMap |
calleeSaveRegister
BackendDerivation.Register calleeSaveRegister(HCodeElement hce,
Temp t)
- Map compiler temporaries to the callee-save register location
they correspond to.
- Parameters:
t
- The temporary to query.hce
- A definition point for t
.
- Returns:
null
if the temporary does not hold the
value of a callee-save register, or else the identity
of the callee-save register.
- Throws:
NullPointerException
- if t
or hc
is null
.
TypeNotKnownException
- if the BackendDerivation
has no information about t
as defined
at hce
.