public soot.baf.Baf soot_baf_Baf() { if (instance_soot_baf_Baf == null) { synchronized (this) { if (instance_soot_baf_Baf == null) instance_soot_baf_Baf = new soot.baf.Baf(g); } } return instance_soot_baf_Baf; } protected void release_soot_baf_Baf() {
public String toString() { return "dup1_x2." + Baf.bafDescriptorOf(mOpType) + "_" + Baf.bafDescriptorOf(mUnder1Type) + "." + Baf.bafDescriptorOf(mUnder2Type); }
public BDup2_x1Inst(Type aOp1Type, Type aOp2Type, Type aUnderType) { mOp1Type = Baf.getDescriptorTypeOf(aOp1Type); mOp2Type = Baf.getDescriptorTypeOf(aOp2Type); mUnderType = Baf.getDescriptorTypeOf(aUnderType); }
Map<Local, Map<Local, Integer>> newLocs = new HashMap<Local, Map<Local, Integer>>(); while (total >= 32 && booleans.size() + bytes.size() + chars.size() + ints.size() > 2) { Local nloc = Baf.v().newLocal("newDumby" + count++, LongType.v()); // soot.jbco.util.Rand.getInt(2) > 0 ? bLocals.add(nloc); if (first != null) { u.insertAfter(Baf.v().newStoreInst(LongType.v(), nloc), first); u.insertAfter(Baf.v().newPushInst(LongConstant.v(0)), first); } else { u.addFirst(Baf.v().newStoreInst(LongType.v(), nloc)); u.addFirst(Baf.v().newPushInst(LongConstant.v(0))); u.insertBefore(Baf.v().newPrimitiveCastInst(jloc.getType(), LongType.v()), unit); if (index > 0) { u.insertBefore(Baf.v().newPushInst(IntConstant.v(index)), unit); u.insertBefore(Baf.v().newShlInst(LongType.v()), unit); u.insertBefore(Baf.v().newPushInst(LongConstant.v(~longmask)), unit); u.insertBefore(Baf.v().newAndInst(LongType.v()), unit); u.insertBefore(Baf.v().newLoadInst(LongType.v(), nloc), unit); u.insertBefore(Baf.v().newPushInst(LongConstant.v(longmask)), unit); u.insertBefore(Baf.v().newAndInst(LongType.v()), unit); u.insertBefore(Baf.v().newXorInst(LongType.v()), unit); u.insertBefore(Baf.v().newStoreInst(LongType.v(), nloc), unit); u.remove(unit); u.insertBefore(Baf.v().newLoadInst(LongType.v(), nloc), unit); u.insertBefore(Baf.v().newPushInst(LongConstant.v(longmask)), unit); u.insertBefore(Baf.v().newAndInst(LongType.v()), unit);
Object makeBafInst(Type opType) { return Baf.v().newAddInst(this.getOp1().getType()); }
Object makeBafInst(Type opType) { return Baf.v().newAndInst(this.getOp1().getType()); }
Object makeBafInst(Type opType) { return Baf.v().newCmpInst(this.getOp1().getType()); }
public void convertToBaf(JimpleToBafContext context, List<Unit> out) { ((ConvertToBaf) (getOp())).convertToBaf(context, out); Unit u = Baf.v().newArrayLengthInst(); u.addAllTagsOf(context.getCurrentUnit()); out.add(u); }
public void convertToBaf(JimpleToBafContext context, List<Unit> out) { ((ConvertToBaf) getBase()).convertToBaf(context, out); ((ConvertToBaf) getIndex()).convertToBaf(context, out); Unit currentUnit = context.getCurrentUnit(); Unit x; out.add(x = Baf.v().newArrayReadInst(getType())); Iterator it = currentUnit.getTags().iterator(); while (it.hasNext()) { x.addTag((Tag) it.next()); } } }
public void caseArrayRef(ArrayRef v) { ((ConvertToBaf) (v.getBase())).convertToBaf(context, out); ((ConvertToBaf) (v.getIndex())).convertToBaf(context, out); ((ConvertToBaf) rvalue).convertToBaf(context, out); Unit u = Baf.v().newArrayWriteInst(v.getType()); u.addAllTagsOf(JAssignStmt.this); out.add(u); }
public BafBody convertJimpleBodyToBaf(SootMethod m) { JimpleBody body = (JimpleBody) m.getActiveBody().clone(); // Change // ConditionalBranchFolder.v().transform(body); // UnreachableCodeEliminator.v().transform(body); // DeadAssignmentEliminator.v().transform(body); // UnusedLocalEliminator.v().transform(body); BafBody bafBody = Baf.v().newBody(body); PackManager.v().getPack("bop").apply(bafBody); PackManager.v().getPack("tag").apply(bafBody); if (Options.v().validate()) { bafBody.validate(); } return bafBody; }
public String toString() { return "dup2_x1." + Baf.bafDescriptorOf(mOp1Type) + "." + Baf.bafDescriptorOf(mOp2Type) + "_" + Baf.bafDescriptorOf(mUnderType); }
public BDup2_x2Inst(Type aOp1Type, Type aOp2Type, Type aUnder1Type, Type aUnder2Type) { mOp1Type = Baf.getDescriptorTypeOf(aOp1Type); mOp2Type = Baf.getDescriptorTypeOf(aOp2Type); mUnder1Type = Baf.getDescriptorTypeOf(aUnder1Type); mUnder2Type = Baf.getDescriptorTypeOf(aUnder2Type); }
public String toString() { return "dup1_x1." + Baf.bafDescriptorOf(mOpType) + "_" + Baf.bafDescriptorOf(mUnderType); }
public BDup1_x2Inst(Type aOpType, Type aUnder1Type, Type aUnder2Type) { mOpType = Baf.getDescriptorTypeOf(aOpType); mUnder1Type = Baf.getDescriptorTypeOf(aUnder1Type); mUnder2Type = Baf.getDescriptorTypeOf(aUnder2Type); }
public String toString() { return "swap." + Baf.bafDescriptorOf(mFromType) + Baf.bafDescriptorOf(mToType); }
public BDup2Inst(Type aOp1Type, Type aOp2Type) { mOp1Type = Baf.getDescriptorTypeOf(aOp1Type); mOp2Type = Baf.getDescriptorTypeOf(aOp2Type); }
public String toString() { return "dup2." + Baf.bafDescriptorOf(mOp1Type) + Baf.bafDescriptorOf(mOp2Type); }
public BDup1_x1Inst(Type aOpType, Type aUnderType) { mOpType = Baf.getDescriptorTypeOf(aOpType); mUnderType = Baf.getDescriptorTypeOf(aUnderType); }