fr.umlv.corosol.component.instruction.impl
Class FDiv

java.lang.Object
  extended by fr.umlv.corosol.component.instruction.impl.FDiv
All Implemented Interfaces:
JInstruction, JInstruction.FDiv, JObject, JVMComponent

public class FDiv
extends java.lang.Object
implements JInstruction.FDiv

The implementation of the fdiv instruction.

Author:
Christophe Deleray

Nested Class Summary
 
Nested classes/interfaces inherited from interface fr.umlv.corosol.component.instruction.JInstruction
JInstruction.AALoad, JInstruction.AAStore, JInstruction.AConst_Null, JInstruction.ALoad, JInstruction.ALoad_0, JInstruction.ALoad_1, JInstruction.ALoad_2, JInstruction.ALoad_3, JInstruction.ANewArray, JInstruction.AReturn, JInstruction.ArrayLength, JInstruction.AStore, JInstruction.AStore_0, JInstruction.AStore_1, JInstruction.AStore_2, JInstruction.AStore_3, JInstruction.AThrow, JInstruction.BALoad, JInstruction.BAStore, JInstruction.BIPush, JInstruction.CALoad, JInstruction.CAStore, JInstruction.CheckCast, JInstruction.D2F, JInstruction.D2I, JInstruction.D2L, JInstruction.DAdd, JInstruction.DALoad, JInstruction.DAStore, JInstruction.DCmpG, JInstruction.DCmpL, JInstruction.DConst_0, JInstruction.DConst_1, JInstruction.DDiv, JInstruction.DLoad, JInstruction.DLoad_0, JInstruction.DLoad_1, JInstruction.DLoad_2, JInstruction.DLoad_3, JInstruction.DMul, JInstruction.DNeg, JInstruction.DRem, JInstruction.DReturn, JInstruction.DStore, JInstruction.DStore_0, JInstruction.DStore_1, JInstruction.DStore_2, JInstruction.DStore_3, JInstruction.DSub, JInstruction.Dup, JInstruction.Dup_X1, JInstruction.Dup_X2, JInstruction.Dup2, JInstruction.Dup2_X1, JInstruction.Dup2_X2, JInstruction.F2D, JInstruction.F2I, JInstruction.F2L, JInstruction.FAdd, JInstruction.FALoad, JInstruction.FAStore, JInstruction.FCmpG, JInstruction.FCmpL, JInstruction.FConst_0, JInstruction.FConst_1, JInstruction.FConst_2, JInstruction.FDiv, JInstruction.FLoad, JInstruction.FLoad_0, JInstruction.FLoad_1, JInstruction.FLoad_2, JInstruction.FLoad_3, JInstruction.FMul, JInstruction.FNeg, JInstruction.FRem, JInstruction.FReturn, JInstruction.FStore, JInstruction.FStore_0, JInstruction.FStore_1, JInstruction.FStore_2, JInstruction.FStore_3, JInstruction.FSub, JInstruction.GetField, JInstruction.GetStatic, JInstruction.Goto, JInstruction.Goto_W, JInstruction.I2B, JInstruction.I2C, JInstruction.I2D, JInstruction.I2F, JInstruction.I2L, JInstruction.I2S, JInstruction.IAdd, JInstruction.IALoad, JInstruction.IAND, JInstruction.IAStore, JInstruction.IConst_0, JInstruction.IConst_1, JInstruction.IConst_2, JInstruction.IConst_3, JInstruction.IConst_4, JInstruction.IConst_5, JInstruction.IConst_M1, JInstruction.IDiv, JInstruction.IfACmpEq, JInstruction.IfACmpNE, JInstruction.IfEq, JInstruction.IfGE, JInstruction.IfGT, JInstruction.IfICmpEq, JInstruction.IfICmpGE, JInstruction.IfICmpGT, JInstruction.IfICmpLE, JInstruction.IfICmpLT, JInstruction.IfICmpNE, JInstruction.IfLE, JInstruction.IfLT, JInstruction.IfNE, JInstruction.IfNonNull, JInstruction.IfNull, JInstruction.IInc, JInstruction.ILoad, JInstruction.ILoad_0, JInstruction.ILoad_1, JInstruction.ILoad_2, JInstruction.ILoad_3, JInstruction.IMul, JInstruction.INeg, JInstruction.InstanceOf, JInstruction.InvokeInterface, JInstruction.InvokeSpecial, JInstruction.InvokeStatic, JInstruction.InvokeVirtual, JInstruction.IOR, JInstruction.IRem, JInstruction.IReturn, JInstruction.IShL, JInstruction.IShR, JInstruction.IStore, JInstruction.IStore_0, JInstruction.IStore_1, JInstruction.IStore_2, JInstruction.IStore_3, JInstruction.ISub, JInstruction.IUShR, JInstruction.IXOR, JInstruction.JSR, JInstruction.JSR_W, JInstruction.L2D, JInstruction.L2F, JInstruction.L2I, JInstruction.LAdd, JInstruction.LALoad, JInstruction.LAND, JInstruction.LAStore, JInstruction.LCmp, JInstruction.LConst_0, JInstruction.LConst_1, JInstruction.LdC, JInstruction.LdC_W, JInstruction.LdC2_W, JInstruction.LDiv, JInstruction.LLoad, JInstruction.LLoad_0, JInstruction.LLoad_1, JInstruction.LLoad_2, JInstruction.LLoad_3, JInstruction.LMul, JInstruction.LNeg, JInstruction.LookupSwitch, JInstruction.LOR, JInstruction.LRem, JInstruction.LReturn, JInstruction.LShL, JInstruction.LShR, JInstruction.LStore, JInstruction.LStore_0, JInstruction.LStore_1, JInstruction.LStore_2, JInstruction.LStore_3, JInstruction.LSub, JInstruction.LUShR, JInstruction.LXOR, JInstruction.MonitorEnter, JInstruction.MonitorExit, JInstruction.MultiANewArray, JInstruction.New, JInstruction.NewArray, JInstruction.NOp, JInstruction.Pop, JInstruction.Pop2, JInstruction.PutField, JInstruction.PutStatic, JInstruction.Ret, JInstruction.Return, JInstruction.SALoad, JInstruction.SAStore, JInstruction.SIPush, JInstruction.Swap, JInstruction.TableSwitch, JInstruction.Wide
 
Field Summary
 
Fields inherited from interface fr.umlv.corosol.component.instruction.JInstruction
AALOAD, AASTORE, ACONST_NULL, ALOAD, ALOAD_0, ALOAD_1, ALOAD_2, ALOAD_3, ANEWARRAY, ARETURN, ARRAYLENGTH, ASTORE, ASTORE_0, ASTORE_1, ASTORE_2, ASTORE_3, ATHROW, BALOAD, BASTORE, BIPUSH, CALOAD, CASTORE, CHECKCAST, D2F, D2I, D2L, DADD, DALOAD, DASTORE, DCMPG, DCMPL, DCONST_0, DCONST_1, DDIV, DLOAD, DLOAD_0, DLOAD_1, DLOAD_2, DLOAD_3, DMUL, DNEG, DREM, DRETURN, DSTORE, DSTORE_0, DSTORE_1, DSTORE_2, DSTORE_3, DSUB, DUP, DUP_X1, DUP_X2, DUP2, DUP2_X1, DUP2_X2, F2D, F2I, F2L, FADD, FALOAD, FASTORE, FCMPG, FCMPL, FCONST_0, FCONST_1, FCONST_2, FDIV, FLOAD, FLOAD_0, FLOAD_1, FLOAD_2, FLOAD_3, FMUL, FNEG, FREM, FRETURN, FSTORE, FSTORE_0, FSTORE_1, FSTORE_2, FSTORE_3, FSUB, GETFIELD, GETSTATIC, GOTO, GOTO_W, I2B, I2C, I2D, I2F, I2L, I2S, IADD, IALOAD, IAND, IASTORE, ICONST_0, ICONST_1, ICONST_2, ICONST_3, ICONST_4, ICONST_5, ICONST_M1, IDIV, IF_ACMPEQ, IF_ACMPNE, IF_ICMPEQ, IF_ICMPGE, IF_ICMPGT, IF_ICMPLE, IF_ICMPLT, IF_ICMPNE, IFEQ, IFGE, IFGT, IFLE, IFLT, IFNE, IFNONNULL, IFNULL, IINC, ILOAD, ILOAD_0, ILOAD_1, ILOAD_2, ILOAD_3, IMUL, INEG, INSTANCEOF, INVOKEINTERFACE, INVOKESPECIAL, INVOKESTATIC, INVOKEVIRTUAL, IOR, IREM, IRETURN, ISHL, ISHR, ISTORE, ISTORE_0, ISTORE_1, ISTORE_2, ISTORE_3, ISUB, IUSHR, IXOR, JSR, JSR_W, L2D, L2F, L2I, LADD, LALOAD, LAND, LASTORE, LCMP, LCONST_0, LCONST_1, LDC, LDC_W, LDC2_W, LDIV, LLOAD, LLOAD_0, LLOAD_1, LLOAD_2, LLOAD_3, LMUL, LNEG, LOOKUPSWITCH, LOR, LREM, LRETURN, LSHL, LSHR, LSTORE, LSTORE_0, LSTORE_1, LSTORE_2, LSTORE_3, LSUB, LUSHR, LXOR, MONITORENTER, MONITOREXIT, MULTIANEWARRAY, NEW, NEWARRAY, NOP, POP, POP2, PUTFIELD, PUTSTATIC, RET, RETURN, SALOAD, SASTORE, SIPUSH, SWAP, TABLESWITCH, WIDE
 
Constructor Summary
FDiv()
          Creates a new FDiv object.
 
Method Summary
 void configure(JVirtualMachine jvm)
          Configures this instruction via the specified JVM.
 void exec(JThread thread)
          Executes this instruction in the specified thread.
 java.lang.Class getComponentClass()
          Returns the class object describing this component.
 java.lang.Object getNativeObject()
          Returns the object equivalent to this object but which belong to the underlaying Virtual Machine.
 int getOpcode()
          Returns the opcode of this instruction.
 void replace(JVMComponent component)
          Replaces the data of this component by the data of the specified component.
 java.lang.String toString()
          Returns a string representation of this instruction.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

FDiv

public FDiv()
Creates a new FDiv object.

Method Detail

getNativeObject

public java.lang.Object getNativeObject()
Returns the object equivalent to this object but which belong to the underlaying Virtual Machine. By default, this method return the reference of this object.


configure

public void configure(JVirtualMachine jvm)
Configures this instruction via the specified JVM. During this configuration operation, this instruction can reach any unit of the specified JVM.

Specified by:
configure in interface JVMComponent
Parameters:
jvm - the Java Virtual Machine

getComponentClass

public java.lang.Class getComponentClass()
Returns the class object describing this component.

Specified by:
getComponentClass in interface JVMComponent

replace

public void replace(JVMComponent component)
Replaces the data of this component by the data of the specified component. The type of component must be the type of this component. This method should be call when a component is replaced in the Corosol Virtual Machine.

Specified by:
replace in interface JVMComponent
Parameters:
component - a component to be used to initialize this component

exec

public void exec(JThread thread)
          throws java.lang.Throwable
Executes this instruction in the specified thread.

Specified by:
exec in interface JInstruction
Parameters:
thread - a thread
Throws:
java.lang.Throwable - if an exception occurs during execution

getOpcode

public int getOpcode()
Returns the opcode of this instruction.

Specified by:
getOpcode in interface JInstruction
Returns:
the opcode of this instruction

toString

public java.lang.String toString()
Returns a string representation of this instruction.

Overrides:
toString in class java.lang.Object
Returns:
a string representation of this instruction