X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=Robust%2Fsrc%2FAnalysis%2FOoOJava%2FOoOJavaAnalysis.java;h=c73f7fa64100b9c7a37b747e683fa3a44a8b627c;hb=3476ae84a1e274a26a0247c99271fc068494da59;hp=11d645e8e504fdf579224d2a283ebc159e97d484;hpb=a241479f3823d36df9f3bd709cffd7f2951c9730;p=IRC.git diff --git a/Robust/src/Analysis/OoOJava/OoOJavaAnalysis.java b/Robust/src/Analysis/OoOJava/OoOJavaAnalysis.java index 11d645e8..c73f7fa6 100644 --- a/Robust/src/Analysis/OoOJava/OoOJavaAnalysis.java +++ b/Robust/src/Analysis/OoOJava/OoOJavaAnalysis.java @@ -12,9 +12,11 @@ import java.util.Set; import java.util.Stack; import java.util.Map.Entry; +import Analysis.Pointer.Pointer; import Analysis.ArrayReferencees; import Analysis.Liveness; import Analysis.CallGraph.CallGraph; +import Analysis.Disjoint.HeapAnalysis; import Analysis.Disjoint.DisjointAnalysis; import Analysis.Disjoint.Effect; import Analysis.Disjoint.EffectsAnalysis; @@ -47,7 +49,7 @@ public class OoOJavaAnalysis { private TypeUtil typeUtil; private CallGraph callGraph; private RBlockRelationAnalysis rblockRel; - private DisjointAnalysis disjointAnalysisTaints; + private HeapAnalysis disjointAnalysisTaints; private DisjointAnalysis disjointAnalysisReach; private Set descriptorsToAnalyze; @@ -112,11 +114,10 @@ public class OoOJavaAnalysis { return fm; } - public DisjointAnalysis getDisjointAnalysis() { + public HeapAnalysis getDisjointAnalysis() { return disjointAnalysisTaints; } - public OoOJavaAnalysis( State state, TypeUtil typeUtil, CallGraph callGraph, @@ -198,7 +199,11 @@ public class OoOJavaAnalysis { // 5th pass, use disjointness with NO FLAGGED REGIONS // to compute taints and effects - disjointAnalysisTaints = + if (state.POINTER) { + disjointAnalysisTaints = new Pointer(state, typeUtil, callGraph, rblockRel); + ((Pointer)disjointAnalysisTaints).doAnalysis(); + } else + disjointAnalysisTaints = new DisjointAnalysis(state, typeUtil, callGraph, liveness, arrayReferencees, null, rblockRel, true ); // suppress output--this is an intermediate pass @@ -265,7 +270,7 @@ public class OoOJavaAnalysis { if (state.OOODEBUG) { try { writeReports(""); - disjointAnalysisTaints.getEffectsAnalysis().writeEffects("effects.txt"); + disjointAnalysisTaints.getEffectsAnalysis().writeEffects("effects.txt"); writeConflictGraph(); } catch (IOException e) {} }