[pypy-commit] pypy ppc-jit-backend: (edelsohn, bivab): create a function descriptor for malloc_slowpath on PPC64

bivab noreply at buildbot.pypy.org
Fri Feb 17 18:20:32 CET 2012


Author: David Schneider <david.schneider at picle.org>
Branch: ppc-jit-backend
Changeset: r52592:d24f788807b2
Date: 2012-02-17 09:19 -0800
http://bitbucket.org/pypy/pypy/changeset/d24f788807b2/

Log:	(edelsohn, bivab): create a function descriptor for malloc_slowpath
	on PPC64

diff --git a/pypy/jit/backend/ppc/ppc_assembler.py b/pypy/jit/backend/ppc/ppc_assembler.py
--- a/pypy/jit/backend/ppc/ppc_assembler.py
+++ b/pypy/jit/backend/ppc/ppc_assembler.py
@@ -297,6 +297,10 @@
 
     def _build_malloc_slowpath(self):
         mc = PPCBuilder()
+        if IS_PPC_64:
+            for _ in range(6):
+                mc.write32(0)
+
         with Saved_Volatiles(mc):
             # Values to compute size stored in r3 and r4
             mc.subf(r.r3.value, r.r3.value, r.r4.value)
@@ -315,6 +319,8 @@
         pmc.overwrite()
         mc.b_abs(self.propagate_exception_path)
         rawstart = mc.materialize(self.cpu.asmmemmgr, [])
+        if IS_PPC_64:
+            self.write_64_bit_func_descr(rawstart, rawstart+3*WORD)
         self.malloc_slowpath = rawstart
 
     def _build_propagate_exception_path(self):


More information about the pypy-commit mailing list