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

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

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

The implementation of the l2d 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
L2D()
          Creates a new L2D 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.
 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

L2D

public L2D()
Creates a new L2D object.

Method Detail

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