[pypy-commit] pypy ppc-jit-backend: Implement emit_cond_call_gc_wb for PPC64. Fix typo in function address variable name.

edelsohn noreply at buildbot.pypy.org
Wed Dec 28 21:31:12 CET 2011


Author: edelsohn
Branch: ppc-jit-backend
Changeset: r50936:cb6d39cadc56
Date: 2011-12-28 15:30 -0500
http://bitbucket.org/pypy/pypy/changeset/cb6d39cadc56/

Log:	Implement emit_cond_call_gc_wb for PPC64. Fix typo in function
	address variable name.

diff --git a/pypy/jit/backend/ppc/ppcgen/opassembler.py b/pypy/jit/backend/ppc/ppcgen/opassembler.py
--- a/pypy/jit/backend/ppc/ppcgen/opassembler.py
+++ b/pypy/jit/backend/ppc/ppcgen/opassembler.py
@@ -855,7 +855,11 @@
             # test whether this bit is set
             self.mc.cmpwi(0, r.SCRATCH.value, 1)
         else:
-            assert 0, "not implemented yet"
+            if bitpos > 0:
+                self.mc.rldicl(r.SCRATCH.value, r.SCRATCH.value,
+                               64 - bitpos, 63)
+            # test whether this bit is set
+            self.mc.cmpdi(0, r.SCRATCH.value, 1)
         self.mc.free_scratch_reg()
 
         jz_location = self.mc.currpos()
@@ -876,9 +880,9 @@
             if IS_PPC_32:
                 self.mc.bl_abs(func)
             else:
-                self.mc.load_from_addr(r.SCRATCH, adr)
-                self.mc.load_from_addr(r.TOC, adr + WORD)
-                self.mc.load_from_addr(r.r11, adr + 2 * WORD)
+                self.mc.load_from_addr(r.SCRATCH, func)
+                self.mc.load_from_addr(r.TOC, func + WORD)
+                self.mc.load_from_addr(r.r11, func + 2 * WORD)
                 self.mc.mtctr(r.SCRATCH.value)
                 self.mc.bctrl()
 


More information about the pypy-commit mailing list