[pypy-svn] r77645 - in pypy/branch/arm-backend/pypy/jit/backend: llsupport x86

david at codespeak.net david at codespeak.net
Wed Oct 6 14:58:44 CEST 2010


Author: david
Date: Wed Oct  6 14:58:42 2010
New Revision: 77645

Modified:
   pypy/branch/arm-backend/pypy/jit/backend/llsupport/regalloc.py
   pypy/branch/arm-backend/pypy/jit/backend/x86/regalloc.py
Log:
finish moving compute_loop_consts to llsupport

Modified: pypy/branch/arm-backend/pypy/jit/backend/llsupport/regalloc.py
==============================================================================
--- pypy/branch/arm-backend/pypy/jit/backend/llsupport/regalloc.py	(original)
+++ pypy/branch/arm-backend/pypy/jit/backend/llsupport/regalloc.py	Wed Oct  6 14:58:42 2010
@@ -383,3 +383,14 @@
     for arg in longevity:
         assert isinstance(arg, Box)
     return longevity
+
+def compute_loop_consts(self, inputargs, jump, looptoken):
+    if jump.getopnum() != rop.JUMP or jump.getdescr() is not looptoken:
+        loop_consts = {}
+    else:
+        loop_consts = {}
+        for i in range(len(inputargs)):
+            if inputargs[i] is jump.getarg(i):
+                loop_consts[inputargs[i]] = i
+    return loop_consts
+

Modified: pypy/branch/arm-backend/pypy/jit/backend/x86/regalloc.py
==============================================================================
--- pypy/branch/arm-backend/pypy/jit/backend/x86/regalloc.py	(original)
+++ pypy/branch/arm-backend/pypy/jit/backend/x86/regalloc.py	Wed Oct  6 14:58:42 2010
@@ -16,7 +16,7 @@
 from pypy.jit.backend.llsupport.descr import BaseFieldDescr, BaseArrayDescr
 from pypy.jit.backend.llsupport.descr import BaseCallDescr, BaseSizeDescr
 from pypy.jit.backend.llsupport.regalloc import FrameManager, RegisterManager,\
-     TempBox, compute_vars_longevity
+     TempBox, compute_vars_longevity, compute_loop_consts
 from pypy.jit.backend.x86.arch import WORD, FRAME_FIXED_SIZE, IS_X86_32, IS_X86_64
 
 class X86RegisterManager(RegisterManager):
@@ -267,16 +267,6 @@
             return self.rm.force_allocate_reg(var, forbidden_vars,
                                               selected_reg, need_lower_byte)
 
-    def _compute_loop_consts(self, inputargs, jump, looptoken):
-        if jump.getopnum() != rop.JUMP or jump.getdescr() is not looptoken:
-            loop_consts = {}
-        else:
-            loop_consts = {}
-            for i in range(len(inputargs)):
-                if inputargs[i] is jump.getarg(i):
-                    loop_consts[inputargs[i]] = i
-        return loop_consts
-
     def _update_bindings(self, locs, inputargs):
         # XXX this should probably go to llsupport/regalloc.py
         used = {}



More information about the Pypy-commit mailing list