public class BasicBlock extends Block
Block.ExcInfo, Block.ExitRec
Modifier and Type | Field and Description |
---|---|
java.util.Vector |
alternates |
java.lang.String |
bname |
AliasDB |
db |
Node[] |
esnodes |
java.lang.String |
handler |
Node.var[] |
inputs |
static java.lang.String |
JbetLogFacility |
Node[] |
outputs |
InternSet |
senodes |
Node.cint |
swvaln |
Blc_const, Blc_disabled, Blc_flags, Blc_idempotent, Blc_indet, Blc_NoAlias, blflags, En_flags, En_jsr, enflags, Erol_Cond, Erol_LoopCond, Erol_names, Erol_Single, Erol_Special, Erol_Switch, Erol_Unknown, es, Exit_DoubleCons, Exit_flags, Exit_NewFrame, Exit_swap, swval
Constructor and Description |
---|
BasicBlock() |
BasicBlock(InstrBlock in)
Constructs a BasicBlock from an InstrBlock.
|
BasicBlock(InstrBlock in,
ClassFilter fixcons)
Constructs a BasicBlock from in.
|
BasicBlock(int numin,
int numou,
int numes) |
Modifier and Type | Method and Description |
---|---|
void |
addAlternate(BasicBlock other) |
void |
addExnode(Node ex) |
void |
addOutput(Node ex) |
BasicBlock |
any(java.util.Random values) |
java.util.Collection |
findnodes()
Find all used nodes.
|
static BasicBlock |
partialCopy(BasicBlock bb)
Partial copy "constructor"
Called by DagRep.obfuscate on each BasicBlock of a method.
|
void |
printinfo(LineWriter out,
boolean printcode)
Display a block on the output stream.
|
void |
replace_cfe(java.util.Hashtable subs,
Node.SubMethod sm) |
void |
replace(java.util.Hashtable subs,
Node.SubMethod sm) |
void |
replacees(java.util.Vector newes) |
void |
setGotoBlk(Node n) |
BasicBlock |
split() |
BasicBlock |
splitInHalf() |
getSuccessors, getSuccessors, getSuccessors
public Node.var[] inputs
public Node[] outputs
public InternSet senodes
public java.lang.String handler
public AliasDB db
public Node[] esnodes
public java.lang.String bname
public java.util.Vector alternates
public Node.cint swvaln
public static java.lang.String JbetLogFacility
public BasicBlock()
public BasicBlock(int numin, int numou, int numes)
public BasicBlock(InstrBlock in)
in
- input InstrBlockpublic BasicBlock(InstrBlock in, ClassFilter fixcons)
in
- inputstacknum
- just an integer that is used to keep the var.v fields
for stack-input nodes uniquefixcons
- Classes for which invokeinits should replace newspublic BasicBlock splitInHalf()
public static BasicBlock partialCopy(BasicBlock bb)
bb
- an input BasicBlockpublic java.util.Collection findnodes()
public BasicBlock any(java.util.Random values)
public void addAlternate(BasicBlock other)
public BasicBlock split()
public void printinfo(LineWriter out, boolean printcode)
public void replacees(java.util.Vector newes)
public void setGotoBlk(Node n)
public void replace(java.util.Hashtable subs, Node.SubMethod sm) throws java.lang.Throwable
java.lang.Throwable
public void replace_cfe(java.util.Hashtable subs, Node.SubMethod sm) throws ClassFileException
ClassFileException
public void addExnode(Node ex)
public void addOutput(Node ex)