LOGIN   :::   RECOVER PASS   :::   GET ACCOUNT    
Browse
  • Projects
  • Code (CVS)
  • Forums
  • News
  • Articles
  • Polls
  •  
    OpenCores
  • FAQ
  • CVS HowTo
  • Mission
  • Media
  • Tools
  • Advertise
  • Mirrors
  • Logos
  • Contact us
  • Job Opportunity
  •  
    Tools
  • Search
      
  • Download Cores (CVSGet)
  •  
    More
  • Wishbone
  • Perlilog
  • EDA tools
  • OpenTech CD
  •  
    Navigation: All forums > Cvs-checkins > Message List > Message Post

    Message

    Reply | Reply all
    Date Prev | Date Next | Thread Prev | Thread Next Date Index | Thread Index

    From: cvs at opencores.org<cvs@o...>
    Date: Tue Jul 24 14:55:28 CEST 2007
    Subject: [cvs-checkins] MODIFIED: jop ...
    Top
    Date: 00/07/07 24:14:55

    Added: jop/java/tools/src/wcet/components/graphbuilder/instruction/exectime
    FieldTimeAnalysisInsn.java
    ITimeAnalysisInstruction.java
    IincTimeAnalysisInsn.java InsnTimeAnalysisInsn.java
    IntTimeAnalysisInsn.java JOPTimeAnalysisInsn.java
    JumpTimeAnalysisInsn.java LdcTimeAnalysisInsn.java
    LookupSwitchTimeAnalysisInsn.java
    MethodTimeAnalysisInsn.java
    MultiANewArrayTimeAnalysisInsn.java
    TableSwitchTimeAnalysisInsn.java
    TypeTimeAnalysisInsn.java VarTimeAnalysisInsn.java
    Log:



    Revision Changes Path
    1.1 jop/java/tools/src/wcet/components/graphbuilder/instruction/exectime/FieldTimeAnalysisInsn.java

    http://www.opencores.org/cvsweb.shtml/jop/java/tools/src/wcet/components/graphbuilder/instruction/exectime/FieldTimeAnalysisInsn.java?rev=1.1&content-type=text/x-cvsweb-markup

    Index: FieldTimeAnalysisInsn.java
    ===================================================================
    /**
    *
    */
    package wcet.components.graphbuilder.instruction.exectime;

    import wcet.framework.instruction.cache.FieldAnalysisInsn;

    import com.jopdesign.wcet.WCETInstruction;

    /**
    * @author Elena Axamitova
    * @version 0.1 15.03.2007
    */
    //OK
    public class FieldTimeAnalysisInsn extends FieldAnalysisInsn
    implements ITimeAnalysisInstruction {

    public FieldTimeAnalysisInsn(int opc){
    super(opc);
    }
    /* (non-Javadoc)
    * @see wcet.components.graphbuilder.instuctions.exectime.ITimeAnalysisInstruction#getCycles()
    */
    public int getCycles() {
    return WCETInstruction.getCycles(this.opcode, false, 0);
    /*switch(this.opcode){
    case OpCodes.PUTSTATIC:
    // WCETInstruction.getCycles();
    return 13+ITimeAnalysisInstruction.rws+ITimeAnalysisInstruction.wws;
    case OpCodes.GETSTATIC:
    return 12+2*ITimeAnalysisInstruction.rws;
    case OpCodes.PUTFIELD:
    return 20+ITimeAnalysisInstruction.rws+ITimeAnalysisInstruction.wws;
    case OpCodes.GETFIELD:
    return 17+2*ITimeAnalysisInstruction.rws;
    default:
    return ITimeAnalysisInstruction.CYCLES_UNKNOWN;
    }*/
    }

    }



    1.1 jop/java/tools/src/wcet/components/graphbuilder/instruction/exectime/ITimeAnalysisInstruction.java

    http://www.opencores.org/cvsweb.shtml/jop/java/tools/src/wcet/components/graphbuilder/instruction/exectime/ITimeAnalysisInstruction.java?rev=1.1&content-type=text/x-cvsweb-markup

    Index: ITimeAnalysisInstruction.java
    ===================================================================
    /**
    *
    */
    package wcet.components.graphbuilder.instruction.exectime;

    import wcet.framework.interfaces.instruction.cache.ICacheAnalysisInstruction;

    /**
    * @author Elena Axamitova
    * @version 0.1 22.02.2007
    */
    public interface ITimeAnalysisInstruction extends ICacheAnalysisInstruction{

    public final int CYCLES_UNKNOWN = -1;

    public final int CYCLES_OF_LAST_METHOD = 0;

    public static final int rws = 1;

    public static final int wws = 1;

    public static final int cws = 0;

    public int getCycles();

    }


    1.1 jop/java/tools/src/wcet/components/graphbuilder/instruction/exectime/IincTimeAnalysisInsn.java http://www.opencores.org/cvsweb.shtml/jop/java/tools/src/wcet/components/graphbuilder/instruction/exectime/IincTimeAnalysisInsn.java?rev=1.1&content-type=text/x-cvsweb-markup Index: IincTimeAnalysisInsn.java =================================================================== /** * */ package wcet.components.graphbuilder.instruction.exectime; import com.jopdesign.wcet.WCETInstruction; import wcet.framework.instruction.cache.IincAnalysisInsn; /** * @author Elena Axamitova * @version 0.1 15.03.2007 */ //OK public class IincTimeAnalysisInsn extends IincAnalysisInsn implements ITimeAnalysisInstruction { public IincTimeAnalysisInsn(int opc){ super(opc); } /* (non-Javadoc) * @see wcet.components.graphbuilder.instuctions.exectime.ITimeAnalysisInstruction#getCycles() */ public int getCycles() { return WCETInstruction.getCycles(this.opcode, false, 0); //return 8; } } 1.1 jop/java/tools/src/wcet/components/graphbuilder/instruction/exectime/InsnTimeAnalysisInsn.java http://www.opencores.org/cvsweb.shtml/jop/java/tools/src/wcet/components/graphbuilder/instruction/exectime/InsnTimeAnalysisInsn.java?rev=1.1&content-type=text/x-cvsweb-markup Index: InsnTimeAnalysisInsn.java =================================================================== /** * */ package wcet.components.graphbuilder.instruction.exectime; import com.jopdesign.wcet.WCETInstruction; import wcet.framework.instruction.cache.InsnAnalysisInstruction; import wcet.framework.interfaces.instruction.OpCodes; /** * @author Elena Axamitova * @version 0.1 15.03.2007 */ /* * NOP, ACONST_NULL, ICONST_M1, ICONST_0, ICONST_1, ICONST_2, ICONST_3, * ICONST_4, ICONST_5, LCONST_0, LCONST_1, FCONST_0, FCONST_1, FCONST_2, * DCONST_0, DCONST_1, IALOAD, LALOAD, FALOAD, DALOAD, AALOAD, BALOAD, CALOAD, * SALOAD, IASTORE, LASTORE, FASTORE, DASTORE, AASTORE, BASTORE, CASTORE, * SASTORE, POP, POP2, DUP, DUP_X1, DUP_X2, DUP2, DUP2_X1, DUP2_X2, SWAP, IADD, * LADD, FADD, DADD, ISUB, LSUB, FSUB, DSUB, IMUL, LMUL, FMUL, DMUL, IDIV, LDIV, * FDIV, DDIV, IREM, LREM, FREM, DREM, INEG, LNEG, FNEG, DNEG, ISHL, LSHL, ISHR, * LSHR, IUSHR, LUSHR, IAND, LAND, IOR, LOR, IXOR, LXOR, I2L, I2F, I2D, L2I, * L2F, L2D, F2I, F2L, F2D, D2I, D2L, D2F, I2B, I2C, I2S, LCMP, FCMPL, FCMPG, * DCMPL, DCMPG, IRETURN, LRETURN, FRETURN, DRETURN, ARETURN, RETURN, * ARRAYLENGTH, ATHROW, MONITORENTER, or MONITOREXIT */ public class InsnTimeAnalysisInsn extends InsnAnalysisInstruction implements ITimeAnalysisInstruction { public InsnTimeAnalysisInsn(int opc) { super(opc); } /* * (non-Javadoc) * * @see wcet.components.graphbuilder.instuctions.exectime.ITimeAnalysisInstruction#getCycles() */ public int getCycles() { int retVal = WCETInstruction.getCycles(this.opcode, false, 0); int b = WCETInstruction.calculateB(false, 0); switch (this.opcode) { /*case OpCodes.NOP: return 1; case OpCodes.ACONST_NULL: return 1; case OpCodes.ICONST_M1: return 1; case OpCodes.ICONST_0: return 1; case OpCodes.ICONST_1: return 1; case OpCodes.ICONST_2: return 1; case OpCodes.ICONST_3: return 1; case OpCodes.ICONST_4: return 1; case OpCodes.ICONST_5: return 1; case OpCodes.LCONST_0: return 2; case OpCodes.LCONST_1: return 2; case OpCodes.FCONST_0: return ITimeAnalysisInstruction.CYCLES_OF_LAST_METHOD; case OpCodes.FCONST_1: return ITimeAnalysisInstruction.CYCLES_OF_LAST_METHOD; case OpCodes.FCONST_2: return ITimeAnalysisInstruction.CYCLES_OF_LAST_METHOD; case OpCodes.DCONST_0: return ITimeAnalysisInstruction.CYCLES_UNKNOWN; case OpCodes.DCONST_1: return ITimeAnalysisInstruction.CYCLES_UNKNOWN; case OpCodes.IALOAD: return 32+3*ITimeAnalysisInstruction.rws; case OpCodes.LALOAD: return 43+4*ITimeAnalysisInstruction.rws; case OpCodes.FALOAD: return 32+3*ITimeAnalysisInstruction.rws; case OpCodes.DALOAD: return ITimeAnalysisInstruction.CYCLES_UNKNOWN; case OpCodes.AALOAD: return 32+3*ITimeAnalysisInstruction.rws; case OpCodes.BALOAD: return 32+3*ITimeAnalysisInstruction.rws; case OpCodes.CALOAD: return 32+3*ITimeAnalysisInstruction.rws; case OpCodes.SALOAD: return 32+3*ITimeAnalysisInstruction.rws; case OpCodes.IASTORE: return 35+2*ITimeAnalysisInstruction.rws+ITimeAnalysisInstruction.wws; case OpCodes.LASTORE: retVal= 48+2*ITimeAnalysisInstruction.rws+ITimeAnalysisInstruction.wws; if(ITimeAnalysisInstruction.wws>3) retVal +=ITimeAnalysisInstruction.wws-3; return retVal; case OpCodes.FASTORE: return 35+2*ITimeAnalysisInstruction.rws+ITimeAnalysisInstruction.wws; case OpCodes.DASTORE: return ITimeAnalysisInstruction.CYCLES_UNKNOWN; case OpCodes.AASTORE: return 35+2*ITimeAnalysisInstruction.rws+ITimeAnalysisInstruction.wws; case OpCodes.BASTORE: return 35+2*ITimeAnalysisInstruction.rws+ITimeAnalysisInstruction.wws; case OpCodes.CASTORE: return 35+2*ITimeAnalysisInstruction.rws+ITimeAnalysisInstruction.wws; case OpCodes.SASTORE: return 35+2*ITimeAnalysisInstruction.rws+ITimeAnalysisInstruction.wws; case OpCodes.POP: return 1; case OpCodes.POP2: return 2; case OpCodes.DUP: return 1; case OpCodes.DUP_X1: return 5; case OpCodes.DUP_X2: return 7; case OpCodes.DUP2: return 6; case OpCodes.DUP2_X1: return 8; case OpCodes.DUP2_X2: return 10; case OpCodes.SWAP: return 4; case OpCodes.IADD: return 1; case OpCodes.LADD: return ITimeAnalysisInstruction.CYCLES_OF_LAST_METHOD; case OpCodes.FADD: return ITimeAnalysisInstruction.CYCLES_OF_LAST_METHOD; case OpCodes.DADD: return ITimeAnalysisInstruction.CYCLES_UNKNOWN; case OpCodes.ISUB: return 1; case OpCodes.LSUB: return ITimeAnalysisInstruction.CYCLES_OF_LAST_METHOD; case OpCodes.FSUB: return ITimeAnalysisInstruction.CYCLES_OF_LAST_METHOD; case OpCodes.DSUB: return ITimeAnalysisInstruction.CYCLES_UNKNOWN; case OpCodes.IMUL: return 35; case OpCodes.LMUL: return ITimeAnalysisInstruction.CYCLES_OF_LAST_METHOD; case OpCodes.FMUL: return ITimeAnalysisInstruction.CYCLES_UNKNOWN; case OpCodes.DMUL: return ITimeAnalysisInstruction.CYCLES_UNKNOWN; case OpCodes.IDIV: return ITimeAnalysisInstruction.CYCLES_OF_LAST_METHOD; case OpCodes.LDIV: return ITimeAnalysisInstruction.CYCLES_OF_LAST_METHOD; case OpCodes.FDIV: return ITimeAnalysisInstruction.CYCLES_UNKNOWN; case OpCodes.DDIV: return ITimeAnalysisInstruction.CYCLES_UNKNOWN; case OpCodes.IREM: return ITimeAnalysisInstruction.CYCLES_OF_LAST_METHOD; case OpCodes.LREM: return ITimeAnalysisInstruction.CYCLES_OF_LAST_METHOD; case OpCodes.FREM: return ITimeAnalysisInstruction.CYCLES_UNKNOWN; case OpCodes.DREM: return ITimeAnalysisInstruction.CYCLES_UNKNOWN; case OpCodes.INEG: return 4; case OpCodes.LNEG: return ITimeAnalysisInstruction.CYCLES_OF_LAST_METHOD; case OpCodes.FNEG: return ITimeAnalysisInstruction.CYCLES_UNKNOWN; case OpCodes.DNEG: return ITimeAnalysisInstruction.CYCLES_UNKNOWN; case OpCodes.ISHL: return 1; case OpCodes.LSHL: return ITimeAnalysisInstruction.CYCLES_OF_LAST_METHOD; case OpCodes.ISHR: return 1; case OpCodes.LSHR: return ITimeAnalysisInstruction.CYCLES_OF_LAST_METHOD; case OpCodes.IUSHR: return 1; case OpCodes.LUSHR: return ITimeAnalysisInstruction.CYCLES_OF_LAST_METHOD; case OpCodes.IAND: return 1; case OpCodes.LAND: return ITimeAnalysisInstruction.CYCLES_OF_LAST_METHOD; case OpCodes.IOR: return 1; case OpCodes.LOR: return ITimeAnalysisInstruction.CYCLES_OF_LAST_METHOD; case OpCodes.IXOR: return 1; case OpCodes.LXOR: return ITimeAnalysisInstruction.CYCLES_OF_LAST_METHOD; case OpCodes.I2L: return ITimeAnalysisInstruction.CYCLES_OF_LAST_METHOD; case OpCodes.I2F: return ITimeAnalysisInstruction.CYCLES_UNKNOWN; case OpCodes.I2D: return ITimeAnalysisInstruction.CYCLES_UNKNOWN; case OpCodes.L2I: return 3; case OpCodes.L2F: return ITimeAnalysisInstruction.CYCLES_UNKNOWN; case OpCodes.L2D: return ITimeAnalysisInstruction.CYCLES_UNKNOWN; case OpCodes.F2I: return ITimeAnalysisInstruction.CYCLES_OF_LAST_METHOD; case OpCodes.F2L: return ITimeAnalysisInstruction.CYCLES_UNKNOWN; case OpCodes.F2D: return ITimeAnalysisInstruction.CYCLES_UNKNOWN; case OpCodes.D2I: return ITimeAnalysisInstruction.CYCLES_UNKNOWN; case OpCodes.D2L: return ITimeAnalysisInstruction.CYCLES_UNKNOWN; case OpCodes.D2F: return ITimeAnalysisInstruction.CYCLES_UNKNOWN; case OpCodes.I2B: return ITimeAnalysisInstruction.CYCLES_OF_LAST_METHOD; case OpCodes.I2C: return 2; case OpCodes.I2S: return ITimeAnalysisInstruction.CYCLES_OF_LAST_METHOD; case OpCodes.LCMP: return ITimeAnalysisInstruction.CYCLES_OF_LAST_METHOD; case OpCodes.FCMPL: return ITimeAnalysisInstruction.CYCLES_UNKNOWN; case OpCodes.DCMPL: return ITimeAnalysisInstruction.CYCLES_UNKNOWN; case OpCodes.DCMPG: return ITimeAnalysisInstruction.CYCLES_UNKNOWN;*/ case OpCodes.IRETURN: /*retVal =23; if(ITimeAnalysisInstruction.rws>3){ retVal += ITimeAnalysisInstruction.rws-3; } return retVal;*/ case OpCodes.LRETURN: /*retVal =25; if(ITimeAnalysisInstruction.rws>3){ retVal += ITimeAnalysisInstruction.rws-3; } return retVal;*/ case OpCodes.FRETURN: /*retVal =23; if(ITimeAnalysisInstruction.rws>3){ retVal += ITimeAnalysisInstruction.rws-3; } return retVal;*/ case OpCodes.DRETURN: /*retVal =25; if(ITimeAnalysisInstruction.rws>3){ retVal += ITimeAnalysisInstruction.rws-3; } return retVal;*/ case OpCodes.ARETURN: /*retVal =23; if(ITimeAnalysisInstruction.rws>3){ retVal += ITimeAnalysisInstruction.rws-3; } return retVal;*/ case OpCodes.RETURN: /*retVal =21; if(ITimeAnalysisInstruction.rws>3){ retVal += ITimeAnalysisInstruction.rws-3; }*/ if(b>this.getHiddenCycles()) retVal -= b - this.getHiddenCycles(); break; /*case OpCodes.ARRAYLENGTH: return 6+ITimeAnalysisInstruction.rws; case OpCodes.ATHROW: return ITimeAnalysisInstruction.CYCLES_OF_LAST_METHOD; case OpCodes.MONITORENTER: return 11; case OpCodes.MONITOREXIT: return 16;//TODO ??? 10/16 default: return ITimeAnalysisInstruction.CYCLES_UNKNOWN;*/ } return retVal; } public int getHiddenCycles(){ switch(this.opcode){ case OpCodes.IRETURN: return 10; case OpCodes.LRETURN: return 11; case OpCodes.FRETURN: return 10; case OpCodes.DRETURN: return 11; case OpCodes.ARETURN: return 10; case OpCodes.RETURN: return 9; default: return ITimeAnalysisInstruction.CYCLES_UNKNOWN; } } } 1.1 jop/java/tools/src/wcet/components/graphbuilder/instruction/exectime/IntTimeAnalysisInsn.java http://www.opencores.org/cvsweb.shtml/jop/java/tools/src/wcet/components/graphbuilder/instruction/exectime/IntTimeAnalysisInsn.java?rev=1.1&content-type=text/x-cvsweb-markup Index: IntTimeAnalysisInsn.java =================================================================== /** * */ package wcet.components.graphbuilder.instruction.exectime; import wcet.framework.instruction.cache.IntAnalysisInsn; import com.jopdesign.wcet.WCETInstruction; /** * @author Elena Axamitova * @version 0.1 15.03.2007 */ public class IntTimeAnalysisInsn extends IntAnalysisInsn implements ITimeAnalysisInstruction { private int operand; public IntTimeAnalysisInsn(int opc, int op) { super(opc); this.operand = op; } /* * (non-Javadoc) * * @see wcet.components.graphbuilder.instuctions.exectime.ITimeAnalysisInstruction#getCycles() */ public int getCycles() { return WCETInstruction.getCycles(this.opcode, false, 0); /*switch (this.opcode) { case OpCodes.BIPUSH: return 2; case OpCodes.SIPUSH: return 3; case OpCodes.NEWARRAY: return ITimeAnalysisInstruction.CYCLES_OF_LAST_METHOD; default: return ITimeAnalysisInstruction.CYCLES_UNKNOWN; }*/ } public int getOperand() { return this.operand; } } 1.1 jop/java/tools/src/wcet/components/graphbuilder/instruction/exectime/JOPTimeAnalysisInsn.java http://www.opencores.org/cvsweb.shtml/jop/java/tools/src/wcet/components/graphbuilder/instruction/exectime/JOPTimeAnalysisInsn.java?rev=1.1&content-type=text/x-cvsweb-markup Index: JOPTimeAnalysisInsn.java =================================================================== /** * */ package wcet.components.graphbuilder.instruction.exectime; import com.jopdesign.wcet.WCETInstruction; import wcet.framework.instruction.cache.JOPAnalysisInsn; //import wcet.framework.interfaces.instruction.OpCodes; /** * @author Elena Axamitova * @version 0.1 19.04.2007 */ public class JOPTimeAnalysisInsn extends JOPAnalysisInsn implements ITimeAnalysisInstruction { public JOPTimeAnalysisInsn(int opc){ super(opc); } /* (non-Javadoc) * @see wcet.components.graphbuilder.instuctions.exectime.ITimeAnalysisInstruction#getCycles() */ public int getCycles() { // TODO where do I get the 'n'from return WCETInstruction.getCycles(this.opcode, false, 0); /*switch(this.opcode){ case OpCodes.JOPSYS_RD: return 4+ITimeAnalysisInstruction.rws; case OpCodes.JOPSYS_WR: return 5+ITimeAnalysisInstruction.rws; case OpCodes.JOPSYS_RDMEM: return 4+ITimeAnalysisInstruction.rws; case OpCodes.JOPSYS_WRMEM: return 5+ITimeAnalysisInstruction.rws; case OpCodes.JOPSYS_RDINT: return 3; case OpCodes.JOPSYS_WRINT: return 3; case OpCodes.JOPSYS_GETSP: return 3; case OpCodes.JOPSYS_SETSP: return 4; case OpCodes.JOPSYS_GETVP: return 1; case OpCodes.JOPSYS_SETVP: return 2; case OpCodes.JOPSYS_INT2EXT: return 14+ITimeAnalysisInstruction.rws+ n * (23+ITimeAnalysisInstruction.wws);//TODO where do I get the 'n'from case OpCodes.JOPSYS_EXT2INT: return 14+ITimeAnalysisInstruction.rws+ n * (23+ITimeAnalysisInstruction.wws);//TODO where do I get the 'n'from case OpCodes.JOPSYS_NOP: return 1; //TODO get cycles case OpCodes.JOPSYS_INVOKE: return ITimeAnalysisInstruction.CYCLES_UNKNOWN; case OpCodes.JOPSYS_COND_MOVE: return 5; case OpCodes.GETSTATIC_REF: return ITimeAnalysisInstruction.CYCLES_UNKNOWN; case OpCodes.PUTSTATIC_REF: return ITimeAnalysisInstruction.CYCLES_UNKNOWN; case OpCodes.GETFIELD_REF: return ITimeAnalysisInstruction.CYCLES_UNKNOWN; case OpCodes.PUTFIELD_REF: return ITimeAnalysisInstruction.CYCLES_UNKNOWN; case OpCodes.GETSTATIC_LONG: return ITimeAnalysisInstruction.CYCLES_UNKNOWN; case OpCodes.PUTSTATIC_LONG: return ITimeAnalysisInstruction.CYCLES_UNKNOWN; case OpCodes.GETFIELD_LONG: return ITimeAnalysisInstruction.CYCLES_UNKNOWN; case OpCodes.PUTFIELD_LONG: return ITimeAnalysisInstruction.CYCLES_UNKNOWN; case OpCodes.SYS_INT: return ITimeAnalysisInstruction.CYCLES_OF_LAST_METHOD; case OpCodes.SYS_EXC: return ITimeAnalysisInstruction.CYCLES_OF_LAST_METHOD; case OpCodes.SYS_NOIMP: return ITimeAnalysisInstruction.CYCLES_OF_LAST_METHOD; case OpCodes.SYS_INIT: return ITimeAnalysisInstruction.CYCLES_UNKNOWN; default: return ITimeAnalysisInstruction.CYCLES_UNKNOWN; }*/ } } 1.1 jop/java/tools/src/wcet/components/graphbuilder/instruction/exectime/JumpTimeAnalysisInsn.java http://www.opencores.org/cvsweb.shtml/jop/java/tools/src/wcet/components/graphbuilder/instruction/exectime/JumpTimeAnalysisInsn.java?rev=1.1&content-type=text/x-cvsweb-markup Index: JumpTimeAnalysisInsn.java =================================================================== /** * */ package wcet.components.graphbuilder.instruction.exectime; import com.jopdesign.wcet.WCETInstruction; import wcet.framework.instruction.cache.JumpAnalysisInsn; /** * @author Elena Axamitova * @version 0.1 15.03.2007 */ //OK public class JumpTimeAnalysisInsn extends JumpAnalysisInsn implements ITimeAnalysisInstruction { public JumpTimeAnalysisInsn(int opc){ super(opc); } /* (non-Javadoc) * @see wcet.components.graphbuilder.instuctions.exectime.ITimeAnalysisInstruction#getCycles() */ public int getCycles() { return WCETInstruction.getCycles(this.opcode, false, 0); // return 4; } } 1.1 jop/java/tools/src/wcet/components/graphbuilder/instruction/exectime/LdcTimeAnalysisInsn.java http://www.opencores.org/cvsweb.shtml/jop/java/tools/src/wcet/components/graphbuilder/instruction/exectime/LdcTimeAnalysisInsn.java?rev=1.1&content-type=text/x-cvsweb-markup Index: LdcTimeAnalysisInsn.java =================================================================== /** * */ package wcet.components.graphbuilder.instruction.exectime; import com.jopdesign.wcet.WCETInstruction; import wcet.framework.instruction.cache.LdcAnalysisInsn; //import wcet.framework.interfaces.instruction.OpCodes; /** * @author Elena Axamitova * @version 0.1 15.03.2007 */ //OK public class LdcTimeAnalysisInsn extends LdcAnalysisInsn implements ITimeAnalysisInstruction { public LdcTimeAnalysisInsn(int opc) { super(opc); } /* * (non-Javadoc) * * @see wcet.components.graphbuilder.instuctions.exectime.ITimeAnalysisInstruction#getCycles() */ public int getCycles() { return WCETInstruction.getCycles(this.opcode, false, 0); /*switch (this.opcode) { case OpCodes.LDC: return 7 + ITimeAnalysisInstruction.rws; case OpCodes.LDC_W: return 8 + ITimeAnalysisInstruction.rws; case OpCodes.LDC2_W: //return 17 + 2 * ITimeAnalysisInstruction.rws; int retValue = 17; if (ITimeAnalysisInstruction.rws>2){ retValue += ITimeAnalysisInstruction.rws-2; } if (ITimeAnalysisInstruction.rws>1){ retValue += ITimeAnalysisInstruction.rws-1; } return retValue; default: return ITimeAnalysisInstruction.CYCLES_UNKNOWN; }*/ } } 1.1 jop/java/tools/src/wcet/components/graphbuilder/instruction/exectime/LookupSwitchTimeAnalysisInsn.java http://www.opencores.org/cvsweb.shtml/jop/java/tools/src/wcet/components/graphbuilder/instruction/exectime/LookupSwitchTimeAnalysisInsn.java?rev=1.1&content-type=text/x-cvsweb-markup Index: LookupSwitchTimeAnalysisInsn.java =================================================================== /** * */ package wcet.components.graphbuilder.instruction.exectime; import com.jopdesign.wcet.WCETInstruction; import wcet.framework.instruction.cache.LookupSwitchAnalysisInsn; /** * @author Elena Axamitova * @version 0.1 15.03.2007 */ public class LookupSwitchTimeAnalysisInsn extends LookupSwitchAnalysisInsn implements ITimeAnalysisInstruction { public LookupSwitchTimeAnalysisInsn(int opc, int size){ super(opc, size); } /* (non-Javadoc) * @see wcet.components.graphbuilder.instuctions.exectime.ITimeAnalysisInstruction#getCycles() */ public int getCycles() { return WCETInstruction.getCycles(this.opcode, false, 0); //return ITimeAnalysisInstruction.CYCLES_OF_LAST_METHOD; } } 1.1 jop/java/tools/src/wcet/components/graphbuilder/instruction/exectime/MethodTimeAnalysisInsn.java http://www.opencores.org/cvsweb.shtml/jop/java/tools/src/wcet/components/graphbuilder/instruction/exectime/MethodTimeAnalysisInsn.java?rev=1.1&content-type=text/x-cvsweb-markup Index: MethodTimeAnalysisInsn.java =================================================================== /** * */ package wcet.components.graphbuilder.instruction.exectime; import com.jopdesign.wcet.WCETInstruction; import wcet.framework.instruction.cache.MethodAnalysisInsn; import wcet.framework.interfaces.instruction.OpCodes; /** * @author Elena Axamitova * @version 0.1 15.03.2007 */ // OK public class MethodTimeAnalysisInsn extends MethodAnalysisInsn implements ITimeAnalysisInstruction { public MethodTimeAnalysisInsn(int opc) { super(opc); } /* * (non-Javadoc) * * @see wcet.components.graphbuilder.instuctions.exectime.ITimeAnalysisInstruction#getCycles() */ public int getCycles() { // the cycles needed to test if the method is in the cache and // the load of the method in the case of a cache miss will be suplied by // the invoke block following this instruction in the cfg; //int retValue = 0; int retValue = WCETInstruction.getCycles(this.opcode, false, 0); int b = WCETInstruction.calculateB(false, 0); switch (this.opcode) { case OpCodes.INVOKEVIRTUAL: // retValue = 100 + 2 * ITimeAnalysisInstruction.rws; // break; case OpCodes.INVOKESPECIAL: case OpCodes.INVOKESTATIC: //retValue = 74 + ITimeAnalysisInstruction.rws; //break; case OpCodes.INVOKEINTERFACE: //retValue = 114 + 4 * ITimeAnalysisInstruction.rws; //break; if(b>this.getHiddenCycles()) retValue -= b - this.getHiddenCycles(); break; default: return ITimeAnalysisInstruction.CYCLES_UNKNOWN; } /*if (ITimeAnalysisInstruction.rws > 3) { retValue += ITimeAnalysisInstruction.rws - 3; } if (ITimeAnalysisInstruction.rws > 2) { retValue += ITimeAnalysisInstruction.rws - 2; }*/ return retValue; } public int getHiddenCycles() { switch (this.opcode) { case OpCodes.INVOKEVIRTUAL: case OpCodes.INVOKESPECIAL: case OpCodes.INVOKESTATIC: case OpCodes.INVOKEINTERFACE: return 37; default: return ITimeAnalysisInstruction.CYCLES_UNKNOWN; } } } 1.1 jop/java/tools/src/wcet/components/graphbuilder/instruction/exectime/MultiANewArrayTimeAnalysisInsn.java http://www.opencores.org/cvsweb.shtml/jop/java/tools/src/wcet/components/graphbuilder/instruction/exectime/MultiANewArrayTimeAnalysisInsn.java?rev=1.1&content-type=text/x-cvsweb-markup Index: MultiANewArrayTimeAnalysisInsn.java =================================================================== /** * */ package wcet.components.graphbuilder.instruction.exectime; import com.jopdesign.wcet.WCETInstruction; import wcet.framework.instruction.cache.MultiANewArrayAnalysisInsn; /** * @author Elena Axamitova * @version 0.1 15.03.2007 */ //OK public class MultiANewArrayTimeAnalysisInsn extends MultiANewArrayAnalysisInsn implements ITimeAnalysisInstruction { public MultiANewArrayTimeAnalysisInsn(int opc){ super(opc); } /* (non-Javadoc) * @see wcet.components.graphbuilder.instuctions.exectime.ITimeAnalysisInstruction#getCycles() */ public int getCycles() { return WCETInstruction.getCycles(this.opcode, false, 0); //return ITimeAnalysisInstruction.CYCLES_OF_LAST_METHOD; } } 1.1 jop/java/tools/src/wcet/components/graphbuilder/instruction/exectime/TableSwitchTimeAnalysisInsn.java http://www.opencores.org/cvsweb.shtml/jop/java/tools/src/wcet/components/graphbuilder/instruction/exectime/TableSwitchTimeAnalysisInsn.java?rev=1.1&content-type=text/x-cvsweb-markup Index: TableSwitchTimeAnalysisInsn.java =================================================================== /** * */ package wcet.components.graphbuilder.instruction.exectime; import com.jopdesign.wcet.WCETInstruction; import wcet.framework.instruction.cache.TableSwitchAnalysisInsn; /** * @author Elena Axamitova * @version 0.1 15.03.2007 */ //OK public class TableSwitchTimeAnalysisInsn extends TableSwitchAnalysisInsn implements ITimeAnalysisInstruction { public TableSwitchTimeAnalysisInsn(int opc, int size){ super(opc, size); } /* (non-Javadoc) * @see wcet.components.graphbuilder.instuctions.exectime.ITimeAnalysisInstruction#getCycles() */ public int getCycles() { return WCETInstruction.getCycles(this.opcode, false, 0); //return ITimeAnalysisInstruction.CYCLES_OF_LAST_METHOD; } } 1.1 jop/java/tools/src/wcet/components/graphbuilder/instruction/exectime/TypeTimeAnalysisInsn.java http://www.opencores.org/cvsweb.shtml/jop/java/tools/src/wcet/components/graphbuilder/instruction/exectime/TypeTimeAnalysisInsn.java?rev=1.1&content-type=text/x-cvsweb-markup Index: TypeTimeAnalysisInsn.java =================================================================== /** * */ package wcet.components.graphbuilder.instruction.exectime; import com.jopdesign.wcet.WCETInstruction; import wcet.framework.instruction.cache.TypeAnalysisInsn; //import wcet.framework.interfaces.instruction.OpCodes; /** * @author Elena Axamitova * @version 0.1 15.03.2007 */ //OK public class TypeTimeAnalysisInsn extends TypeAnalysisInsn implements ITimeAnalysisInstruction { public TypeTimeAnalysisInsn(int opc) { super(opc); } /* * (non-Javadoc) * * @see wcet.components.graphbuilder.instuctions.exectime.ITimeAnalysisInstruction#getCycles() */ public int getCycles() { return WCETInstruction.getCycles(this.opcode, false, 0); /*switch (this.opcode) { case OpCodes.NEW: return ITimeAnalysisInstruction.CYCLES_OF_LAST_METHOD; case OpCodes.ANEWARRAY: return ITimeAnalysisInstruction.CYCLES_OF_LAST_METHOD; case OpCodes.CHECKCAST: return ITimeAnalysisInstruction.CYCLES_OF_LAST_METHOD; case OpCodes.INSTANCEOF: return ITimeAnalysisInstruction.CYCLES_OF_LAST_METHOD; default: return ITimeAnalysisInstruction.CYCLES_UNKNOWN; }*/ } } 1.1 jop/java/tools/src/wcet/components/graphbuilder/instruction/exectime/VarTimeAnalysisInsn.java http://www.opencores.org/cvsweb.shtml/jop/java/tools/src/wcet/components/graphbuilder/instruction/exectime/VarTimeAnalysisInsn.java?rev=1.1&content-type=text/x-cvsweb-markup Index: VarTimeAnalysisInsn.java =================================================================== /** * */ package wcet.components.graphbuilder.instruction.exectime; import com.jopdesign.wcet.WCETInstruction; import wcet.framework.instruction.cache.VarAnalysisInsn; //import wcet.framework.interfaces.instruction.OpCodes; /** * @author Elena Axamitova * @version 0.1 15.03.2007 */ // OK public class VarTimeAnalysisInsn extends VarAnalysisInsn implements ITimeAnalysisInstruction { public VarTimeAnalysisInsn(int opc) { super(opc); } /* * (non-Javadoc) * * @see wcet.components.graphbuilder.instuctions.exectime.ITimeAnalysisInstruction#getCycles() */ public int getCycles() { return WCETInstruction.getCycles(this.opcode, false, 0); /*switch (this.opcode) { case OpCodes.ILOAD: return 2; case OpCodes.LLOAD: return 11; case OpCodes.FLOAD: return 2; case OpCodes.DLOAD: return 11; case OpCodes.ALOAD: return 2; case OpCodes.ISTORE: return 2; case OpCodes.LSTORE: return 11; case OpCodes.FSTORE: return 2; case OpCodes.DSTORE: return 11; case OpCodes.ASTORE: return 2; case OpCodes.RET: return ITimeAnalysisInstruction.CYCLES_UNKNOWN; default: return ITimeAnalysisInstruction.CYCLES_UNKNOWN; }*/ } }

     
    Copyright (c) 1999 OPENCORES.ORG. All rights reserved.