From 6bd44ebe9bdaf3982470ad744f4bf6a356639cce Mon Sep 17 00:00:00 2001 From: yeom Date: Fri, 6 Aug 2010 00:11:51 +0000 Subject: [PATCH] introduces new flag for runtime conflict resolver. --- Robust/src/Analysis/Disjoint/DisjointAnalysis.java | 4 ++++ Robust/src/Analysis/OoOJava/OoOJavaAnalysis.java | 4 ++++ Robust/src/IR/Flat/BuildCode.java | 8 ++++++++ Robust/src/IR/State.java | 1 + Robust/src/Main/Main.java | 2 ++ Robust/src/buildscript | 5 +++++ 6 files changed, 24 insertions(+) diff --git a/Robust/src/Analysis/Disjoint/DisjointAnalysis.java b/Robust/src/Analysis/Disjoint/DisjointAnalysis.java index b62472b4..28e6256d 100644 --- a/Robust/src/Analysis/Disjoint/DisjointAnalysis.java +++ b/Robust/src/Analysis/Disjoint/DisjointAnalysis.java @@ -2461,6 +2461,10 @@ getFlaggedAllocationSitesReachableFromTaskPRIVATE(TaskDescriptor td) { return effectsAnalysis; } + public ReachGraph getReachGraph(Descriptor d){ + return mapDescriptorToCompleteReachGraph.get(d); + } + // get successive captures of the analysis state, use compiler // flags to control diff --git a/Robust/src/Analysis/OoOJava/OoOJavaAnalysis.java b/Robust/src/Analysis/OoOJava/OoOJavaAnalysis.java index 70eb4012..aa0db186 100644 --- a/Robust/src/Analysis/OoOJava/OoOJavaAnalysis.java +++ b/Robust/src/Analysis/OoOJava/OoOJavaAnalysis.java @@ -1574,6 +1574,10 @@ private void codePlansForward( FlatMethod fm ) { } } } + + public DisjointAnalysis getDisjointAnalysis(){ + return disjointAnalysisReach; + } private void printSESEInfoTree( BufferedWriter bw, FlatSESEEnterNode fsen diff --git a/Robust/src/IR/Flat/BuildCode.java b/Robust/src/IR/Flat/BuildCode.java index 479fc596..17408edc 100644 --- a/Robust/src/IR/Flat/BuildCode.java +++ b/Robust/src/IR/Flat/BuildCode.java @@ -23,6 +23,7 @@ import Analysis.Locality.DCWrapper; import Analysis.Locality.DelayComputation; import Analysis.Locality.BranchAnalysis; import Analysis.CallGraph.CallGraph; +import Analysis.Disjoint.ReachGraph; import Analysis.OoOJava.OoOJavaAnalysis; import Analysis.Prefetch.*; import Analysis.Loops.WriteBarrier; @@ -255,6 +256,13 @@ public class BuildCode { while(seseit.hasNext()){ FlatSESEEnterNode fsen = seseit.next(); initializeSESE( fsen ); + + // invoke rcr + if(state.RCR){ +// FlatMethod fm=fsen.getfmEnclosing(); +// ReachGraph rg=oooa.getDisjointAnalysis().getReachGraph(fm.getMethod()); + } + } } diff --git a/Robust/src/IR/State.java b/Robust/src/IR/State.java index 2a8a473e..5980ee08 100644 --- a/Robust/src/IR/State.java +++ b/Robust/src/IR/State.java @@ -103,6 +103,7 @@ public class State { public boolean OOOJAVA=false; public boolean OOODEBUG=false; + public boolean RCR=false; public boolean OPTIONAL=false; diff --git a/Robust/src/Main/Main.java b/Robust/src/Main/Main.java index aefe03a3..8386342b 100644 --- a/Robust/src/Main/Main.java +++ b/Robust/src/Main/Main.java @@ -334,6 +334,8 @@ public class Main { } else if (option.equals("-ooodebug") ){ state.OOODEBUG = true; + } else if (option.equals("-rcr")){ + state.RCR = true; } else if (option.equals("-help")) { System.out.println("-classlibrary classlibrarydirectory -- directory where classlibrary is located"); System.out.println("-selfloop task -- this task doesn't self loop its parameters forever"); diff --git a/Robust/src/buildscript b/Robust/src/buildscript index 85fafb16..2ccc65ab 100755 --- a/Robust/src/buildscript +++ b/Robust/src/buildscript @@ -20,6 +20,7 @@ echo OOOJava options echo -coreprof turn on profiling API echo "-ooojava " echo -ooodebug general OOOJava debugging messages +echo -rcr turn on runtime conflict resolver echo echo Disjoint Reachability Analysis options echo -disjoint enable analysis @@ -506,6 +507,10 @@ EXTRAOPTIONS="$EXTRAOPTIONS -DPRECISE_GC -lpthread -DMLP" shift shift +elif [[ $1 = '-rcr' ]] +then +JAVAOPTS="$JAVAOPTS -rcr" + elif [[ $1 = '-coreprof' ]] then COREPROF=true -- 2.34.1