Author: Manuel Jacob
Branch: refactor-translator
Changeset: r61779:be4da41d53e8
Date: 2013-02-25 15:41 +0100
http://bitbucket.org/pypy/pypy/changeset/be4da41d53e8/
Log: Cleanup.
diff --git a/rpython/translator/driver.py b/rpython/translator/driver.py
--- a/rpython/translator/driver.py
+++ b/rpython/translator/driver.py
@@ -96,8 +96,6 @@
if default_goal:
default_goal, = self.backend_select_goals([default_goal])
- if default_goal in self._maybe_skip():
- default_goal = None
self.default_goal = default_goal
self.extra_goals = []
@@ -152,14 +150,6 @@
def disable(self, to_disable):
self._disabled = to_disable
- def _maybe_skip(self):
- maybe_skip = []
- if self._disabled:
- for goal in self.backend_select_goals(self._disabled):
- maybe_skip.extend(self._depending_on_closure(goal))
- return dict.fromkeys(maybe_skip).keys()
-
-
def setup(self, entry_point, inputtypes, policy=None, extra={},
empty_translator=None):
standalone = inputtypes is None
self.standalone = standalone
@@ -710,7 +700,7 @@
if task == goal:
break
goals = self.backend_select_goals(goals)
- return self._execute(goals, task_skip = self._maybe_skip())
+ return self._execute(goals)
def from_targetspec(targetspec_dic, config=None, args=None,
empty_translator=None,
diff --git a/rpython/translator/tool/taskengine.py
b/rpython/translator/tool/taskengine.py
--- a/rpython/translator/tool/taskengine.py
+++ b/rpython/translator/tool/taskengine.py
@@ -16,96 +16,8 @@
tasks[task_name] = task, task_deps
- def _plan(self, goals, skip=[]):
- skip = [toskip for toskip in skip if toskip not in goals]
-
- key = (tuple(goals), tuple(skip))
- try:
- return self._plan_cache[key]
- except KeyError:
- pass
- constraints = []
-
- def subgoals(task_name):
- taskcallable, deps = self.tasks[task_name]
- for dep in deps:
- if dep.startswith('??'): # optional
- dep = dep[2:]
- if dep not in goals:
- continue
- if dep.startswith('?'): # suggested
- dep = dep[1:]
- if dep in skip:
- continue
- yield dep
-
- seen = {}
-
- def consider(subgoal):
- if subgoal in seen:
- return
- else:
- seen[subgoal] = True
- constraints.append([subgoal])
- deps = subgoals(subgoal)
- for dep in deps:
- constraints.append([subgoal, dep])
- consider(dep)
-
- for goal in goals:
- consider(goal)
-
- #sort
-
- plan = []
-
- while True:
- cands = dict.fromkeys([constr[0] for constr in constraints if
constr])
- if not cands:
- break
-
- for cand in cands:
- for constr in constraints:
- if cand in constr[1:]:
- break
- else:
- break
- else:
- raise RuntimeError, "circular dependecy"
-
- plan.append(cand)
- for constr in constraints:
- if constr and constr[0] == cand:
- del constr[0]
-
- plan.reverse()
-
- self._plan_cache[key] = plan
-
- return plan
-
- def _depending_on(self, goal):
- l = []
- for task_name, (task, task_deps) in self.tasks.iteritems():
- if goal in task_deps:
- l.append(task_name)
- return l
-
- def _depending_on_closure(self, goal):
- d = {}
- def track(goal):
- if goal in d:
- return
- d[goal] = True
- for depending in self._depending_on(goal):
- track(depending)
- track(goal)
- return d.keys()
-
def _execute(self, goals, *args, **kwds):
- task_skip = kwds.get('task_skip', [])
res = None
- #goals = self._plan(goals, skip=task_skip)
for goal in goals:
taskcallable, _ = self.tasks[goal]
self._event('planned', goal, taskcallable)
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit