LOGIN   :::   RECOVER PASS   :::   GET ACCOUNT    
Browse
  • Projects
  • Code (CVS)
  • Forums
  • News
  • Articles
  • Polls
  •  
    OpenCores
  • FAQ
  • CVS HowTo
  • Mission
  • Media
  • Tools
  • Sponsors
  • Mirrors
  • Logos
  • Contact us
  •  
    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: Mon Jun 26 11:29:46 CEST 2006
    Subject: [cvs-checkins] MODIFIED: jop ...
    Top
    Date: 00/06/06 26:11:29

    Modified: jop/java/tools/src/com/jopdesign/build GCRTMethodInfo.java
    Log:
    added setGcMethods


    Revision Changes Path
    1.7 jop/java/tools/src/com/jopdesign/build/GCRTMethodInfo.java

    http://www.opencores.org/cvsweb.shtml/jop/java/tools/src/com/jopdesign/build/GCRTMethodInfo.java.diff?r1=1.6&r2=1.7

    (In the diff below, changes in quantity of whitespace are not shown.)

    Index: GCRTMethodInfo.java
    ===================================================================
    RCS file: /cvsroot/rasped/jop/java/tools/src/com/jopdesign/build/GCRTMethodInfo.java,v
    retrieving revision 1.6
    retrieving revision 1.7
    diff -u -b -r1.6 -r1.7
    --- GCRTMethodInfo.java 30 May 2006 12:56:17 -0000 1.6
    +++ GCRTMethodInfo.java 26 Jun 2006 09:29:46 -0000 1.7
    @@ -56,12 +56,27 @@

    static HashMap miMap = new HashMap();

    + // true if the method of letting the GC thread
    + // run with lowest priority is used
    + static boolean cfgReduce = true;
    +
    + // those methods with gc info
    + // (provided by a call to CallGraph?)
    + static HashSet gcMethods = null;
    +
    + /**
    + * Contains the set of methods which are included in the stack map generation.
    + * @param gcMethods
    + */
    + public static void setGcMethods(HashSet gcMethods) {
    + GCRTMethodInfo.gcMethods = gcMethods;
    + }
    +
    /**
    * Called from JOPizer->SetGCRTMethodInfo to run the stack simulation for
    * the method.
    *
    - * @param mi
    - * the method
    + * @param mi the method
    */
    public static void stackWalker(MethodInfo mi) {
    ((GCRTMethodInfo) miMap.get(mi)).stackWalker();
    @@ -162,7 +177,7 @@
    }

    if (!method.isStatic()) {
    - margs++;
    + margs++; // this
    }

    if (!method.isAbstract()) {
    @@ -816,6 +831,17 @@
    int ogcimark = 0;
    int mgcimark = 0;

    + if(cfgReduce && gcMethods.contains(method)){
    + if(out != null){
    + out.println("\n\t// no stackwalker info for "
    + + mi.cli.clazz.getClassName() + "." + mi.methodId +" because cfgReduce == true and gcMethods.contains(method)\n");
    + }
    +
    + return 0;
    + }
    +
    +
    +
    // if(mi.code != null){ // not abstract
    if (!method.isAbstract()) {
    if (instCnt != mgci.length || instCnt != ogci.length) {
    @@ -1133,6 +1159,10 @@
    * @return true if pc<instCnt
    */
    public void removePC(int pc){
    +
    + if(cfgReduce && gcMethods.contains(method))
    + return;
    +
    int oldogci[] = ogci;
    int oldmgci[] = mgci;
    ogci = new int[instCnt-1];
    @@ -1254,7 +1284,15 @@
    * SetMethodInfo's visitJavaClass method.
    */
    public int gcLength() {
    - return dumpMethodGcis(null);
    + int len = -1;
    + if(cfgReduce && gcMethods.contains(method)){
    + len = 0;
    + }
    + else {
    + len = dumpMethodGcis(null);
    + }
    + + return len; } /** @@ -1275,6 +1313,7 @@ } return sb.toString(); } + } /**

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