|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object scale.backend.Instruction scale.backend.Marker scale.backend.alpha.PrologMarker
public class PrologMarker
This class marks the position for the routine prolog.
$Id: PrologMarker.java,v 1.9 2007-10-04 19:57:52 burrill Exp $
Copyright 2007 by the
Scale Compiler Group,
Department of Computer Science
University of Massachusetts,
Amherst MA. 01003, USA
All Rights Reserved.
Assembly language for the Alpha requires that the assembly program specify information about a routine for the loader and debugger. This "prolog" information must come after various instructions that comprize the routine entry.
Constructor Summary | |
---|---|
PrologMarker(int mask,
int fmask,
int frameReg,
int frameSize,
int frameOffset,
boolean usesGp)
Create a marker for generating the routine prolog information. |
Method Summary | |
---|---|
void |
assembler(Assembler asm,
Emit emit)
Insert the assembler directive for the prolog. |
boolean |
usesGp()
Return true if the routine requires a GP register value. |
Methods inherited from class scale.backend.Marker |
---|
getExecutionCycles, getOpcode, independent, instructionSize, isMarker, nullify, remapDestRegister, remapRegisters, remapSrcRegister, specifyRegisterUsage, toString |
Methods inherited from class scale.backend.Instruction |
---|
canBeDeleted, clone, copy, defs, ehash, getBBID, getCopyDest, getCopySrc, getDestRegister, getFunctionalUnit, getLoopNumber, getNext, getPredicate, getPredicates, getSrcRegisters, getTag, isBranch, isCopy, isLabel, isLoad, isMandatory, isPhi, isPredicated, isPredicatedOnTrue, isPrefetch, isSpillInstruction, isSpillLoadPoint, isSpillStorePoint, isStore, markSpillInstruction, mods, nullified, numPredicates, removePredicates, setBBID, setLoopNumber, setMandatory, setNext, setPredicate, setPredicate, setPredicatedOnTrue, setPredicates, setsSpecialReg, setTag, specifyNotSpillLoadPoint, specifySpillStorePoint, uses |
Methods inherited from class java.lang.Object |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public PrologMarker(int mask, int fmask, int frameReg, int frameSize, int frameOffset, boolean usesGp)
While executing the routine:
mask
- specifies which integer registers are saved by this
routinefmask
- specifies which floating point registers are saved
by this routineframeReg
- specifies which register is used as the stack
pointerframeSize
- specifies the size in bytes of the stack frame
for this routine and must be a multiple of 16frameOffset
- specifies the offset from the virtual frame
pointer to the saved registersusesGp
- register is true if this routine requires a GP
register valueMethod Detail |
---|
public boolean usesGp()
public void assembler(Assembler asm, Emit emit)
assembler
in class Marker
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |