[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