|
SandMark version 3.0 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--sandmark.watermark.util.BasicBlockMarker
Subclasses of this class are used to encode integral values in basic blocks.
BasicBlock
Constructor Summary | |
BasicBlockMarker()
|
Method Summary | |
(package private) boolean |
capacityIsConstant()
Returns true if this class returns the same capacity for any basic block, including null. |
abstract void |
embed(BasicBlock b,
de.fub.bytecode.generic.ClassGen cg,
java.math.BigInteger value)
Attempts to encode the given value in the given basic block. |
void |
embed(BasicBlock b,
de.fub.bytecode.generic.ClassGen cg,
long value)
Attempts to encode the given value in the given basic block. |
abstract int |
getCapacity(BasicBlock b)
Returns the number of bits that can be encoded into the given basic block. |
abstract java.util.Iterator |
recognize(BasicBlock b)
Returns an Iterator over all values
found to be embedded in the
given basic block. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public BasicBlockMarker()
Method Detail |
public abstract void embed(BasicBlock b, de.fub.bytecode.generic.ClassGen cg, java.math.BigInteger value)
getCapacity()
,
an IllegalArgumentException
will be thrown.
b
- basic block to encode data incg
- class the basic block comes fromvalue
- data to encode
java.lang.IllegalArgumentException
- if value has too many bitsgetCapacity(sandmark.util.controlflowgraph.BasicBlock)
public final void embed(BasicBlock b, de.fub.bytecode.generic.ClassGen cg, long value)
getCapacity()
,
an IllegalArgumentException
will be thrown.
embed(BasicBlock, ClassGen, BigInteger)
.
b
- basic block to encode data incg
- class the basic block comes fromvalue
- data to encode
java.lang.IllegalArgumentException
- if value has too many bitsgetCapacity(sandmark.util.controlflowgraph.BasicBlock)
public abstract java.util.Iterator recognize(BasicBlock b)
Iterator
over all values
found to be embedded in the
given basic block. Only values embedded using the marking scheme
used by this marker will be reported.
b
- basic block to search for marks inpublic abstract int getCapacity(BasicBlock b)
b
- basic block to report the bit capacity ofembed(sandmark.util.controlflowgraph.BasicBlock,
de.fub.bytecode.generic.ClassGen, java.math.BigInteger)
,
embed(sandmark.util.controlflowgraph.BasicBlock,
de.fub.bytecode.generic.ClassGen, long)
boolean capacityIsConstant()
getCapacity(sandmark.util.controlflowgraph.BasicBlock)
|
SandMark version 3.0 Wed Jan 29 10:30:05 MST 2003 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |