00001 package gov.nasa.arc.ase.jpf.jvm.bytecode; 00002 00003 import gov.nasa.arc.ase.jpf.*; 00004 import gov.nasa.arc.ase.jpf.jvm.*; 00005 import de.fub.bytecode.generic.InstructionHandle; 00006 import gov.nasa.arc.ase.util.Debug; 00007 00008 public class FASTORE extends AbstractInstruction { 00009 private de.fub.bytecode.generic.FASTORE peer; 00010 00011 public InstructionHandle execute(SystemState ss, KernelState ks, ThreadInfo th) { 00012 float value = Types.intToFloat(th.pop()); 00013 int index = th.pop(); 00014 int arrayref = th.pop(); 00015 00016 ks.dynamic_area.setValue(arrayref, index, Types.floatToInt(value)); 00017 00018 return th.getPC().getNext(); 00019 } 00020 public void setPeer(de.fub.bytecode.generic.Instruction i) { 00021 peer = (de.fub.bytecode.generic.FASTORE)i; 00022 } 00023 }