SlowAvailableExpressionsAnalysis analysis = new SlowAvailableExpressionsAnalysis(new ExceptionalUnitGraph(b)); FlowSet<Value> set = analysis.getFlowBefore(s); unitToEquivsBefore.put(s, equivsBefore); for (Value v : analysis.getFlowAfter(s)) { Stmt containingStmt = analysis.rhsToContainingStmt.get(v); UnitValueBoxPair p = new UnitValueBoxPair(containingStmt, ((AssignStmt) containingStmt).getRightOpBox());
protected void internalTransform(Body b, String phaseName, Map opts) { SideEffectTester sideEffect; if (Scene.v().hasCallGraph() && !PhaseOptions.getBoolean(opts, "naive-side-effect")) { sideEffect = new PASideEffectTester(); } else { sideEffect = new NaiveSideEffectTester(); } sideEffect.newMethod(b.getMethod()); AETOptions options = new AETOptions(opts); if (options.kind() == AETOptions.kind_optimistic) { new SlowAvailableExpressionsAnalysis(new ExceptionalUnitGraph(b)); } else { new PessimisticAvailableExpressionsAnalysis(new ExceptionalUnitGraph(b), b.getMethod(), sideEffect); } } }
protected void internalTransform( Body b, String phaseName, Map opts) { SideEffectTester sideEffect; if( Scene.v().hasCallGraph() && !PhaseOptions.getBoolean( opts, "naive-side-effect" ) ) { sideEffect = new PASideEffectTester(); } else { sideEffect = new NaiveSideEffectTester(); } sideEffect.newMethod( b.getMethod() ); AETOptions options = new AETOptions(opts); if (options.kind() == AETOptions.kind_optimistic){ new SlowAvailableExpressionsAnalysis(new ExceptionalUnitGraph(b)); } else { new PessimisticAvailableExpressionsAnalysis(new ExceptionalUnitGraph(b), b.getMethod(), sideEffect); } } }
new SlowAvailableExpressionsAnalysis(new ExceptionalUnitGraph(b)); FlowSet set = (FlowSet) analysis.getFlowBefore(s); unitToEquivsBefore.put(s, equivsBefore); set = (FlowSet) analysis.getFlowAfter(s); setAsList = set.toList(); si = setAsList.iterator();
protected void internalTransform( Body b, String phaseName, Map opts) { SideEffectTester sideEffect; if( Scene.v().hasCallGraph() && !PhaseOptions.getBoolean( opts, "naive-side-effect" ) ) { sideEffect = new PASideEffectTester(); } else { sideEffect = new NaiveSideEffectTester(); } sideEffect.newMethod( b.getMethod() ); AETOptions options = new AETOptions(opts); if (options.kind() == AETOptions.kind_optimistic){ new SlowAvailableExpressionsAnalysis(new ExceptionalUnitGraph(b)); } else { new PessimisticAvailableExpressionsAnalysis(new ExceptionalUnitGraph(b), b.getMethod(), sideEffect); } } }
new SlowAvailableExpressionsAnalysis(new ExceptionalUnitGraph(b)); FlowSet set = (FlowSet) analysis.getFlowBefore(s); unitToEquivsBefore.put(s, equivsBefore); set = (FlowSet) analysis.getFlowAfter(s); setAsList = set.toList(); si = setAsList.iterator();