00001 package gov.nasa.arc.ase.jpf.jvm.bytecode; 00002 00003 import de.fub.bytecode.classfile.ConstantPool; 00004 import gov.nasa.arc.ase.jpf.jvm.SystemState; 00005 import gov.nasa.arc.ase.jpf.jvm.KernelState; 00006 import gov.nasa.arc.ase.jpf.jvm.ThreadInfo; 00007 import gov.nasa.arc.ase.util.Debug; 00008 00009 public class JSR extends Instruction { 00010 private int target; 00011 00012 public Instruction execute(SystemState ss, KernelState ks, ThreadInfo th) { 00013 th.push(th.getPC().getNext().getPosition(), false); 00014 00015 return th.getMethod().getInstructionAt(target); 00016 } 00017 public void setPeer(de.fub.bytecode.generic.Instruction i, ConstantPool cp) { 00018 target = ((de.fub.bytecode.generic.JSR)i).getTarget().getPosition(); 00019 } 00020 }