Author: hager <[email protected]>
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)
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit