| 
 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectscale.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 value| Method 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 | ||||||||