Author: Manuel Jacob
Branch: refactor-translator
Changeset: r61778:18df3c1f21a4
Date: 2013-02-25 15:36 +0100
http://bitbucket.org/pypy/pypy/changeset/18df3c1f21a4/

Log:    Remove the concept of tasks having dependencies.

diff --git a/rpython/translator/driver.py b/rpython/translator/driver.py
--- a/rpython/translator/driver.py
+++ b/rpython/translator/driver.py
@@ -18,10 +18,9 @@
 py.log.setconsumer("translation", ansi_log)
 
 
-def taskdef(deps, title, new_state=None, expected_states=[],
-            idemp=False, earlycheck=None):
+def taskdef(title, new_state=None, expected_states=[], idemp=False,
+            earlycheck=None):
     def decorator(taskfunc):
-        taskfunc.task_deps = deps
         taskfunc.task_title = title
         taskfunc.task_newstate = None
         taskfunc.task_expected_states = expected_states
@@ -283,7 +282,7 @@
         #import gc; gc.dump_rpy_heap('rpyheap-after-%s.dump' % goal)
         return res
 
-    @taskdef([], "Annotating&simplifying")
+    @taskdef("Annotating&simplifying")
     def task_annotate(self):
         """ Annotate
         """
@@ -326,7 +325,7 @@
         assert not lost, "lost methods, something gone wrong with the 
annotation of method defs"
 
     RTYPE = 'rtype_lltype'
-    @taskdef(['annotate'], "RTyping")
+    @taskdef("RTyping")
     def task_rtype_lltype(self):
         """ RTyping - lltype version
         """
@@ -334,7 +333,7 @@
         rtyper.specialize(dont_simplify_again=True)
 
     OOTYPE = 'rtype_ootype'
-    @taskdef(['annotate'], "ootyping")
+    @taskdef("ootyping")
     def task_rtype_ootype(self):
         """ RTyping - ootype version
         """
@@ -342,7 +341,7 @@
         rtyper = self.translator.buildrtyper(type_system="ootype")
         rtyper.specialize(dont_simplify_again=True)
 
-    @taskdef([RTYPE], "JIT compiler generation")
+    @taskdef("JIT compiler generation")
     def task_pyjitpl_lltype(self):
         """ Generate bytecodes for JIT and flow the JIT helper functions
         lltype version
@@ -356,7 +355,7 @@
         #
         self.log.info("the JIT compiler was generated")
 
-    @taskdef([OOTYPE], "JIT compiler generation")
+    @taskdef("JIT compiler generation")
     def task_pyjitpl_ootype(self):
         """ Generate bytecodes for JIT and flow the JIT helper functions
         ootype version
@@ -370,7 +369,7 @@
         #
         self.log.info("the JIT compiler was generated")
 
-    @taskdef([RTYPE], "test of the JIT on the llgraph backend")
+    @taskdef("test of the JIT on the llgraph backend")
     def task_jittest_lltype(self):
         """ Run with the JIT on top of the llgraph backend
         """
@@ -384,7 +383,7 @@
         jittest.jittest(self)
 
     BACKENDOPT = 'backendopt_lltype'
-    @taskdef([RTYPE, '??pyjitpl_lltype', '??jittest_lltype'], "lltype back-end 
optimisations")
+    @taskdef("lltype back-end optimisations")
     def task_backendopt_lltype(self):
         """ Run all backend optimizations - lltype version
         """
@@ -392,7 +391,7 @@
         backend_optimizations(self.translator)
 
     OOBACKENDOPT = 'backendopt_ootype'
-    @taskdef([OOTYPE], "ootype back-end optimisations")
+    @taskdef("ootype back-end optimisations")
     def task_backendopt_ootype(self):
         """ Run all backend optimizations - ootype version
         """
@@ -401,7 +400,7 @@
 
 
     STACKCHECKINSERTION = 'stackcheckinsertion_lltype'
-    @taskdef(['?'+BACKENDOPT, RTYPE, 'annotate'], "inserting stack checks")
+    @taskdef("inserting stack checks")
     def task_stackcheckinsertion_lltype(self):
         from rpython.translator.transform import insert_ll_stackcheck
         count = insert_ll_stackcheck(self.translator)
@@ -449,8 +448,7 @@
         self.cbuilder = cbuilder
         self.database = database
 
-    @taskdef([STACKCHECKINSERTION, '?'+BACKENDOPT, RTYPE, '?annotate'],
-             "Generating c source")
+    @taskdef("Generating c source")
     def task_source_c(self):
         """ Create C source files from the generated database
         """
@@ -501,7 +499,7 @@
         self.log.info('usession directory: %s' % (udir,))
         self.log.info("created: %s" % (self.c_entryp,))
 
-    @taskdef(['source_c'], "Compiling c source")
+    @taskdef("Compiling c source")
     def task_compile_c(self):
         """ Compile the generated C code using either makefile or
         translator/platform
@@ -518,7 +516,7 @@
         else:
             self.c_entryp = cbuilder.get_entry_point()
 
-    @taskdef([STACKCHECKINSERTION, '?'+BACKENDOPT, RTYPE], "LLInterpreting")
+    @taskdef("LLInterpreting")
     def task_llinterpret_lltype(self):
         from rpython.rtyper.llinterp import LLInterpreter
         py.log.setconsumer("llinterp operation", None)
@@ -533,7 +531,7 @@
 
         log.llinterpret.event("result -> %s" % v)
 
-    @taskdef(["?" + OOBACKENDOPT, OOTYPE], 'Generating CLI source')
+    @taskdef('Generating CLI source')
     def task_source_cli(self):
         from rpython.translator.cli.gencli import GenCli
         from rpython.translator.cli.entrypoint import get_entrypoint
@@ -551,7 +549,7 @@
         filename = self.gen.generate_source()
         self.log.info("Wrote %s" % (filename,))
 
-    @taskdef(['source_cli'], 'Compiling CLI source')
+    @taskdef('Compiling CLI source')
     def task_compile_cli(self):
         from rpython.translator.oosupport.support import unpatch_os
         from rpython.translator.cli.test.runtest import CliFunctionWrapper
@@ -622,7 +620,7 @@
         shutil.copy(main_exe, '.')
         self.log.info("Copied to %s" % os.path.join(os.getcwd(), dllname))
 
-    @taskdef(["?" + OOBACKENDOPT, OOTYPE], 'Generating JVM source')
+    @taskdef('Generating JVM source')
     def task_source_jvm(self):
         from rpython.translator.jvm.genjvm import GenJvm
         from rpython.translator.jvm.node import EntryPoint
@@ -634,7 +632,7 @@
         self.jvmsource = self.gen.generate_source()
         self.log.info("Wrote JVM code")
 
-    @taskdef(['source_jvm'], 'Compiling JVM source')
+    @taskdef('Compiling JVM source')
     def task_compile_jvm(self):
         from rpython.translator.oosupport.support import unpatch_os
         from rpython.translator.jvm.test.runtest import 
JvmGeneratedSourceWrapper
@@ -700,20 +698,17 @@
         classlist.close()
         return filename
 
-    @taskdef(['compile_jvm'], 'XXX')
+    @taskdef('XXX')
     def task_run_jvm(self):
         pass
 
-    def proceed(self, goals):
-        if not goals:
-            if self.default_goal:
-                goals = [self.default_goal]
-            else:
-                self.log.info("nothing to do")
-                return
-        elif isinstance(goals, str):
-            goals = [goals]
-        goals.extend(self.extra_goals)
+    def proceed(self, goal):
+        assert isinstance(goal, str)
+        goals = []
+        for task in self._tasks:
+            goals.append(task)
+            if task == goal:
+                break
         goals = self.backend_select_goals(goals)
         return self._execute(goals, task_skip = self._maybe_skip())
 
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
@@ -105,7 +105,7 @@
     def _execute(self, goals, *args, **kwds):
         task_skip = kwds.get('task_skip', [])
         res = None
-        goals = self._plan(goals, skip=task_skip)
+        #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

Reply via email to