From: bdemsky Date: Fri, 11 Jan 2008 08:30:42 +0000 (+0000) Subject: changes X-Git-Tag: preEdgeChange~306 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=c09b3d092b3e3f1b3bdd01f31a70b73625d72986;p=IRC.git changes --- diff --git a/Robust/src/Analysis/TaskStateAnalysis/TaskQueue.java b/Robust/src/Analysis/TaskStateAnalysis/TaskQueue.java index dd6404f7..52294802 100644 --- a/Robust/src/Analysis/TaskStateAnalysis/TaskQueue.java +++ b/Robust/src/Analysis/TaskStateAnalysis/TaskQueue.java @@ -22,14 +22,16 @@ public class TaskQueue { this.task=td; this.parameterset=(HashSet[])new HashSet[task.numParameters()]; this.map=new Hashtable>(); + this.tags=new Vector(); for(int i=0;i(); TagExpressionList tel=td.getTag(td.getParameter(i)); - for(int j=0;j0?tel.numTags()-1:0; + j=(tel!=null)&&tel.numTags()>0?tel.numTags()-1:0; needinit=false; } else j=0; tagloop: - for(;j possts=tq.map.get(currfs); diff --git a/Robust/src/Analysis/TaskStateAnalysis/TaskTagAnalysis.java b/Robust/src/Analysis/TaskStateAnalysis/TaskTagAnalysis.java index 27893fcc..47cb02d9 100644 --- a/Robust/src/Analysis/TaskStateAnalysis/TaskTagAnalysis.java +++ b/Robust/src/Analysis/TaskStateAnalysis/TaskTagAnalysis.java @@ -39,6 +39,7 @@ public class TaskTagAnalysis { TaskDescriptor td=(TaskDescriptor)taskit.next(); tasktable.put(td, new TaskQueue(td)); } + doAnalysis(); } private void doAnalysis() { diff --git a/Robust/src/Main/Main.java b/Robust/src/Main/Main.java index 20cc37db..e4071225 100644 --- a/Robust/src/Main/Main.java +++ b/Robust/src/Main/Main.java @@ -15,6 +15,7 @@ import IR.TypeUtil; import Analysis.Scheduling.ScheduleAnalysis; import Analysis.Scheduling.ScheduleEdge; import Analysis.TaskStateAnalysis.TaskAnalysis; +import Analysis.TaskStateAnalysis.TaskTagAnalysis; import Analysis.TaskStateAnalysis.TaskGraph; import Analysis.CallGraph.CallGraph; import Analysis.TaskStateAnalysis.TagAnalysis; @@ -58,6 +59,8 @@ public class Main { state.TASK=true; else if (option.equals("-taskstate")) state.TASKSTATE=true; + else if (option.equals("-tagstate")) + state.TAGSTATE=true; else if (option.equals("-flatirtasks")) { state.FLATIRGRAPH=true; state.FLATIRGRAPHTASKS=true; @@ -167,6 +170,12 @@ public class Main { bf.buildFlat(); SafetyAnalysis sa=null; + if (state.TAGSTATE) { + CallGraph callgraph=new CallGraph(state); + TagAnalysis taganalysis=new TagAnalysis(state, callgraph); + TaskTagAnalysis tta=new TaskTagAnalysis(state, taganalysis); + } + if (state.TASKSTATE) { CallGraph callgraph=new CallGraph(state); TagAnalysis taganalysis=new TagAnalysis(state, callgraph); diff --git a/Robust/src/buildscript b/Robust/src/buildscript index 5adc8f08..85e31c0d 100755 --- a/Robust/src/buildscript +++ b/Robust/src/buildscript @@ -9,6 +9,7 @@ echo -recover compile task code echo -specdir directory echo -selfloop task - this task cannot self loop forever echo -taskstate do task state analysis +echo -tagstate do tag state analysis echo -scheduling do task scheduling echo -optional enable optional echo -debug generate debug symbols @@ -84,6 +85,9 @@ EXTRAOPTIONS="$EXTRAOPTIONS -pg" elif [[ $1 = '-taskstate' ]] then JAVAOPTS="$JAVAOPTS -taskstate" +elif [[ $1 = '-tagstate' ]] +then +JAVAOPTS="$JAVAOPTS -tagstate" elif [[ $1 = '-scheduling' ]] then JAVAOPTS="$JAVAOPTS -scheduling"