Author: David Schneider <david.schnei...@picle.org>
Branch: arm-backend-2
Changeset: r51162:96d252d2a2e6
Date: 2012-01-03 11:13 +0100
http://bitbucket.org/pypy/pypy/changeset/96d252d2a2e6/

Log:    move the actual call to assembler.py

diff --git a/pypy/jit/backend/arm/opassembler.py 
b/pypy/jit/backend/arm/opassembler.py
--- a/pypy/jit/backend/arm/opassembler.py
+++ b/pypy/jit/backend/arm/opassembler.py
@@ -1193,6 +1193,18 @@
         self.propagate_memoryerror_if_r0_is_null()
         return fcond
 
+    def emit_op_call_malloc_nursery(self, op, arglocs, regalloc, fcond):
+        # registers r0 and r1 are allocated for this call
+        assert len(arglocs) == 1
+        size = arglocs[0].value
+        gc_ll_descr = self.cpu.gc_ll_descr
+        self.malloc_cond(
+            gc_ll_descr.get_nursery_free_addr(),
+            gc_ll_descr.get_nursery_top_addr(),
+            size
+            )
+        return fcond
+
 
 class FloatOpAssemlber(object):
     _mixin_ = True
diff --git a/pypy/jit/backend/arm/regalloc.py b/pypy/jit/backend/arm/regalloc.py
--- a/pypy/jit/backend/arm/regalloc.py
+++ b/pypy/jit/backend/arm/regalloc.py
@@ -953,13 +953,7 @@
         self.possibly_free_var(op.result)
         self.possibly_free_var(t)
 
-        gc_ll_descr = self.assembler.cpu.gc_ll_descr
-        self.assembler.malloc_cond(
-            gc_ll_descr.get_nursery_free_addr(),
-            gc_ll_descr.get_nursery_top_addr(),
-            size
-            )
-
+        return [imm(size)]
     def get_mark_gc_roots(self, gcrootmap, use_copy_area=False):
         shape = gcrootmap.get_basic_shape(False)
         for v, val in self.frame_manager.bindings.items():
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to