Author: David Schneider <[email protected]>
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
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit