public ReachDefAnalysisSlotsMThreads(string name, ReachDefAnalysisContext rdaContext)
        {
            this.configuration = Core.AppContext.GetConfiguration();

            this.Name       = name;
            this.rdaContext = rdaContext;
        }
Ejemplo n.º 2
0
        public ReachDefAnalysisSlots(
            string name,
            ReachDefAnalysisContext rdaContext,
            SortedDictionary <long, SortedSet <long> > nodeVLevels)
        {
            this.configuration = Core.AppContext.GetConfiguration();

            this.Name = name;

            this.rdaContext  = rdaContext;
            this.nodeVLevels = nodeVLevels;
        }
 public void Init(
     ReachDefAnalysisContext rdaContext,
     SortedSet <long> vars,
     SortedSet <long> varNodes,
     SortedDictionary <long, SortedSet <long> > nodeVLevels,
     long currentLevel,
     SortedDictionary <long, SortedSet <DefUsePair> > defUsePairSet)
 {
     this.rdaContext    = rdaContext;
     this.vars          = vars;
     this.varNodes      = varNodes;
     this.nodeVLevels   = nodeVLevels;
     this.currentLevel  = currentLevel;
     this.defUsePairSet = defUsePairSet;
 }
Ejemplo n.º 4
0
        public void Init()
        {
            log.Info("Build TConsist pair set");
            CreateVariableSets();

            rdaContext = new ReachDefAnalysisContext
                         (
                meapContext.TArbSeqCFG,
                meapContext.Vars,
                meapContext.Assignments,
                meapContext.Usages
                         );

            rdaContext.EnumerateDefsAndUsages();
            meapContext.NodeToVarMap = new SortedDictionary <long, long>(rdaContext.NodeToVarMap);
        }