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_W extends Instruction { 00010 private int target; 00011 public Instruction execute(SystemState ss, KernelState ks, ThreadInfo th) { 00012 th.push(th.getPC().getNext().getPosition(), false); 00013 00014 return th.getMethod().getInstructionAt(target); 00015 } 00016 public void setPeer(de.fub.bytecode.generic.Instruction i, ConstantPool cp) { 00017 target = ((de.fub.bytecode.generic.JSR_W)i).getTarget().getPosition(); 00018 } 00019 }