def evaluate(compiler, prgm): with compiler.console.scope('cull'): liveContexts = programculler.findLiveContexts(prgm) ccc = CodeContextCuller() for code, contexts in liveContexts.iteritems(): evaluateCode(code, contexts, ccc) prgm.liveCode = set(liveContexts.iterkeys())
def evaluate(compiler, prgm): with compiler.console.scope('clone'): with compiler.console.scope('analysis'): liveContexts = programculler.findLiveContexts(prgm) cloner = ProgramCloner(liveContexts) cloner.unifyContexts(prgm.interface) cloner.findInitialConflicts() cloner.process() cloner.makeGroups() compiler.console.output("=== Split ===") cloner.listGroups(compiler.console) compiler.console.output("Num groups %d / %d" % (cloner.clonedNumGroups(), cloner.originalNumGroups())) compiler.console.output('') rewriteProgram(compiler, prgm, cloner)
def evaluate(compiler, prgm): with compiler.console.scope('clone'): with compiler.console.scope('analysis'): liveContexts = programculler.findLiveContexts(prgm) cloner = ProgramCloner(liveContexts) cloner.unifyContexts(prgm.interface) cloner.findInitialConflicts() cloner.process() cloner.makeGroups() compiler.console.output("=== Split ===") cloner.listGroups(compiler.console) compiler.console.output( "Num groups %d / %d" % (cloner.clonedNumGroups(), cloner.originalNumGroups())) compiler.console.output('') rewriteProgram(compiler, prgm, cloner)