[pypy-commit] pypy ppc-jit-backend: (bivab, hager): add optional path for not saving register r3
hager
noreply at buildbot.pypy.org
Tue Mar 13 18:35:29 CET 2012
Author: hager <sven.hager at uni-duesseldorf.de>
Branch: ppc-jit-backend
Changeset: r53449:1d0adfbac973
Date: 2012-03-13 10:31 -0700
http://bitbucket.org/pypy/pypy/changeset/1d0adfbac973/
Log: (bivab, hager): add optional path for not saving register r3
diff --git a/pypy/jit/backend/ppc/helper/assembler.py b/pypy/jit/backend/ppc/helper/assembler.py
--- a/pypy/jit/backend/ppc/helper/assembler.py
+++ b/pypy/jit/backend/ppc/helper/assembler.py
@@ -73,17 +73,22 @@
in ENCODING AREA around calls
"""
- def __init__(self, codebuilder):
+ def __init__(self, codebuilder, save_RES=True):
+ self.save_RES = save_RES
self.mc = codebuilder
def __enter__(self):
""" before a call, volatile registers are saved in ENCODING AREA
"""
for i, reg in enumerate(r.VOLATILES):
+ if not self.save_RES and reg is r.RES:
+ continue
self.mc.store(reg.value, r.SPP.value, i * WORD)
def __exit__(self, *args):
""" after call, volatile registers have to be restored
"""
for i, reg in enumerate(r.VOLATILES):
+ if not self.save_RES and reg is r.RES:
+ continue
self.mc.load(reg.value, r.SPP.value, i * WORD)
More information about the pypy-commit
mailing list