[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