|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object scale.backend.Displacement scale.backend.StackDisplacement
public class StackDisplacement
This class represents a displacement field in an instruction when the displacement refers to an offset on the stack.
$Id: StackDisplacement.java,v 1.18 2007-09-20 18:57:40 burrill Exp $
Copyright 2007 by the Scale Compiler Group,
Department of Computer Science
University of Massachusetts,
Amherst MA. 01003, USA
All Rights Reserved.
A separate class is used for this so that instanceof may be used to distinguish between a normal displacement and a stack displacement. Also, stack displacements must often be changed after the code for a routine is generated to reflect additional stack entries for spills, etc.
Constructor Summary | |
---|---|
StackDisplacement(long offset)
|
Method Summary | |
---|---|
void |
adjust(int adjustment)
Adjust the displacement by the specified value. |
java.lang.String |
assembler(Assembler asm)
Generate a String representation that can be used by the assembly code generater. |
boolean |
equivalent(java.lang.Object o)
Return true if the displacements are equivalent. |
long |
getDisplacement()
Return the displacement. |
boolean |
isNumeric()
Return true if the displacement can be represented as a number. |
boolean |
isStack()
Return true if the displacement is from the stack pointer. |
boolean |
isZero()
Return true if the displacement is zero. |
java.lang.String |
toString()
|
Displacement |
unique()
Returns this . |
Methods inherited from class scale.backend.Displacement |
---|
created, getBase, isSymbol, offset |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public StackDisplacement(long offset)
Method Detail |
---|
public boolean isNumeric()
isNumeric
in class Displacement
public long getDisplacement()
getDisplacement
in class Displacement
public boolean isStack()
isStack
in class Displacement
public boolean isZero()
isZero
in class Displacement
public void adjust(int adjustment)
adjust
in class Displacement
public Displacement unique()
this
.
unique
in class Displacement
SymbolDisplacement
public java.lang.String assembler(Assembler asm)
assembler
in class Displacement
public java.lang.String toString()
toString
in class java.lang.Object
public boolean equivalent(java.lang.Object o)
equivalent
in class Displacement
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |