📄 setwcetanalysis.java
字号:
package com.jopdesign.wcet;import org.apache.bcel.classfile.*;/* * It calls the methods. * @author rup, ms */public class SetWCETAnalysis extends MyVisitor { WCETAnalyser wca; public SetWCETAnalysis(WCETAnalyser wca) { super(wca); this.wca = wca; } public void visitJavaClass(JavaClass clazz) { super.visitJavaClass(clazz); Method[] methods = clazz.getMethods(); if(wca.init){ for(int i=0; i < methods.length; i++) { Method m = methods[i]; String methodId = m.getName()+m.getSignature(); if(true){//!m.isAbstract()){ WCETMethodBlock wcmb = new WCETMethodBlock(m,clazz,wca); wca.msigtowcmb.put(methodId,wcmb); wca.wcmbs.add(wcmb);// System.out.println("put "+clazz.getClassName()+"."+methodId+" in msigtiwcmb"); wcmb.controlFlowGraph(); wcmb.directedGraph(); //wcmb.toString();//System.out.println("comparing:"+(clazz.getClassName()+"."+m.getName())+" to:"+wca.appmethod); if((clazz.getClassName()+"."+m.getName()).equalsIgnoreCase(wca.appmethod)){ wca.wcmbapp = wcmb; } } else System.out.println("not putting"+m.getName()); //} } }// for(int i=0; i < methods.length; i++) {// Method m = methods[i];// String methodId = m.getName()+m.getSignature();// if(m.getName().equalsIgnoreCase("main")){// if(!m.isAbstract()){// WCETMethodBlock wcmb = (WCETMethodBlock)wca.mtowcmb.get(m);// String lss = wcmb.toLS(true,true,"");// wca.out.println("*** WCET FOR APPLICATION***");// wca.out.println("WCET = " + wcmb.wcetlp);// wca.out.println(lss+"\n");// }// }// } if(wca.analyze){ for(int i=0; i < methods.length; i++) { Method m = methods[i]; String methodId = m.getName()+m.getSignature(); //if(m.getName().equalsIgnoreCase("main")||m.getName().equalsIgnoreCase("loop11")){ if(!m.isAbstract()){ WCETMethodBlock wcmb = (WCETMethodBlock)wca.mtowcmb.get(m); //wca.out.println(wcmb.toString()); wca.wcasb.append(wcmb.toString()); wcmb.link(); wca.dotout.print("\tdot -Tps "+wcmb.dotf+" > "+wcmb.dotf.substring(0,wcmb.dotf.length()-4)+".eps\n"); } //} } } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -