Author: Armin Rigo <[email protected]>
Branch: op_malloc_gc
Changeset: r50683:d40bf7f7a0e3
Date: 2011-12-18 20:59 +0100
http://bitbucket.org/pypy/pypy/changeset/d40bf7f7a0e3/

Log:    more fixes

diff --git a/pypy/jit/backend/llsupport/gc.py b/pypy/jit/backend/llsupport/gc.py
--- a/pypy/jit/backend/llsupport/gc.py
+++ b/pypy/jit/backend/llsupport/gc.py
@@ -4,7 +4,7 @@
 from pypy.rlib.debug import fatalerror
 from pypy.rlib.rarithmetic import ovfcheck
 from pypy.rpython.lltypesystem import lltype, llmemory, rffi, rclass, rstr
-from pypy.rpython.lltypesystem import llgroup, llarena
+from pypy.rpython.lltypesystem import llgroup
 from pypy.rpython.lltypesystem.lloperation import llop
 from pypy.rpython.annlowlevel import llhelper
 from pypy.translator.tool.cbuild import ExternalCompilationInfo
@@ -743,6 +743,15 @@
                                malloc_array_nonstandard,
                                [lltype.Signed] * 5)
 
+        str_type_id    = self.str_descr.tid
+        str_basesize   = self.str_descr.basesize
+        str_itemsize   = self.str_descr.itemsize
+        str_ofs_length = self.str_descr.lendescr.offset
+        unicode_type_id    = self.unicode_descr.tid
+        unicode_basesize   = self.unicode_descr.basesize
+        unicode_itemsize   = self.unicode_descr.itemsize
+        unicode_ofs_length = self.unicode_descr.lendescr.offset
+
         def malloc_str(length):
             return llop1.do_malloc_varsize_clear(
                 llmemory.GCREF,
@@ -849,7 +858,7 @@
         self.gcrootmap.freeing_block(start, stop)
 
     def get_malloc_slowpath_addr(self):
-        return self.c_malloc_nursery_fn.value
+        return self.get_malloc_fn_addr('malloc_nursery')
 
 # ____________________________________________________________
 
diff --git a/pypy/jit/backend/llsupport/rewrite.py 
b/pypy/jit/backend/llsupport/rewrite.py
--- a/pypy/jit/backend/llsupport/rewrite.py
+++ b/pypy/jit/backend/llsupport/rewrite.py
@@ -209,7 +209,8 @@
         If that fails, generate a plain CALL_MALLOC_GC instead.
         """
         if not self.gc_ll_descr.can_use_nursery_malloc(size):
-            return self.gen_malloc_fixedsize(size, v_result)
+            self.gen_malloc_fixedsize(size, v_result)
+            return
         #
         size = self.round_up_for_allocation(size)
         op = None
@@ -237,7 +238,6 @@
         self._previous_size = size
         self._v_last_malloced_nursery = v_result
         self.recent_mallocs[v_result] = None
-        return True
 
     def gen_initialize_tid(self, v_newgcobj, tid):
         if self.gc_ll_descr.fielddescr_tid is not None:
@@ -316,6 +316,7 @@
 
     def round_up_for_allocation(self, size):
         if self.gc_ll_descr.translate_support_code:
+            from pypy.rpython.lltypesystem import llarena
             return llarena.round_up_for_allocation(
                 size, self.gc_ll_descr.minimal_size_in_nursery)
         else:
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to