|
|||||||||
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.sparc.PrologMarker
public class PrologMarker
This class marks the position for the routine prolog.
$Id: PrologMarker.java,v 1.7 2005-02-07 21:27:38 burrill Exp $
Copyright 2005 by the Scale Compiler Group,
Department of Computer Science
University of Massachusetts,
Amherst MA. 01003, USA
All Rights Reserved.
Assembly language for the Sparc 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 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()
|
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 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 routineframeSize
- 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 |