1 package gov.nasa.jpf.jvm.bytecode; 20 21 import gov.nasa.jpf.jvm.KernelState; 22 import gov.nasa.jpf.jvm.SystemState; 23 import gov.nasa.jpf.jvm.ThreadInfo; 24 import gov.nasa.jpf.util.CoverageManager; 25 26 import org.apache.bcel.classfile.ConstantPool; 27 28 29 33 public class IF_ACMPNE extends IfInstruction { 34 private int target; 35 36 public void setPeer (org.apache.bcel.generic.Instruction i, ConstantPool cp) { 37 target = ((org.apache.bcel.generic.IF_ACMPNE) i).getTarget().getPosition(); 38 } 39 40 public Instruction execute (SystemState ss, KernelState ks, ThreadInfo th) { 41 int v1 = th.pop(); 42 int v2 = th.pop(); 43 44 if (v1 != v2) { 45 CoverageManager.incIFBranch(th.index, indexTrue); 46 47 return th.getMethod().getInstructionAt(target); 48 } 49 50 CoverageManager.incIFBranch(th.index, indexFalse); 51 52 return getNext(th); 53 } 54 55 public int getByteCode () { 56 return 0xA6; 57 } 58 } 59 | Popular Tags |