00001 package gov.nasa.arc.ase.jpf.jvm.bytecode; 00002 00003 import de.fub.bytecode.classfile.ConstantPool; 00004 import gov.nasa.arc.ase.jpf.JPFErrorException; 00005 import gov.nasa.arc.ase.jpf.jvm.ClassInfo; 00006 import gov.nasa.arc.ase.jpf.jvm.ExceptionHandler; 00007 import gov.nasa.arc.ase.jpf.jvm.KernelState; 00008 import gov.nasa.arc.ase.jpf.jvm.MethodInfo; 00009 import gov.nasa.arc.ase.jpf.jvm.SystemState; 00010 import gov.nasa.arc.ase.jpf.jvm.ThreadInfo; 00011 import gov.nasa.arc.ase.jpf.jvm.UncaughtException; 00012 import gov.nasa.arc.ase.util.Debug; 00013 00014 public class ATHROW extends Instruction { 00015 public Instruction execute(SystemState ss, KernelState ks, ThreadInfo th) { 00016 int objref = th.pop(); 00017 00018 if(objref == -1) 00019 return th.createAndThrowException("java.lang.NullPointerException"); 00020 00021 return th.throwException(objref); 00022 } 00023 public void setPeer(de.fub.bytecode.generic.Instruction i, ConstantPool cp) { 00024 } 00025 }