[pypy-commit] pypy arm-backed-float: Support newstr and newunicode with framework gcs

bivab noreply at buildbot.pypy.org
Fri May 20 10:34:26 CEST 2011


Author: David Schneider <david.schneider at picle.org>
Branch: arm-backed-float
Changeset: r44311:0d6728da6318
Date: 2011-05-19 11:00 +0200
http://bitbucket.org/pypy/pypy/changeset/0d6728da6318/

Log:	Support newstr and newunicode with framework gcs

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
@@ -910,7 +910,9 @@
     def prepare_op_newstr(self, op, fcond):
         gc_ll_descr = self.cpu.gc_ll_descr
         if gc_ll_descr.get_funcptr_for_newstr is not None:
-            raise NotImplementedError
+            loc = self.loc(op.getarg(0))
+            self.assembler._emit_call(self.assembler.malloc_str_func_addr, [loc], self, op.result)
+            return []
         # boehm GC
         ofs_items, itemsize, ofs = symbolic.get_array_token(rstr.STR,
                             self.cpu.translate_support_code)
@@ -920,7 +922,9 @@
     def prepare_op_newunicode(self, op, fcond):
         gc_ll_descr = self.cpu.gc_ll_descr
         if gc_ll_descr.get_funcptr_for_newunicode is not None:
-            raise NotImplementedError
+            loc = self.loc(op.getarg(0))
+            self.assembler._emit_call(self.assembler.malloc_unicode_func_addr, [loc], self, op.result)
+            return []
         # boehm GC
         ofs_items, _, ofs = symbolic.get_array_token(rstr.UNICODE,
                             self.cpu.translate_support_code)


More information about the pypy-commit mailing list