[pypy-commit] pypy memop-simplify3: reverted changes to malloc_nuresry_varsize, not sure how this solve this now, but I'll first implement zero_array in s390x
plan_rich
pypy.commits at gmail.com
Mon Dec 28 08:04:05 EST 2015
Author: Richard Plangger <planrichi at gmail.com>
Branch: memop-simplify3
Changeset: r81454:52e124acc665
Date: 2015-12-28 14:03 +0100
http://bitbucket.org/pypy/pypy/changeset/52e124acc665/
Log: reverted changes to malloc_nuresry_varsize, not sure how this solve
this now, but I'll first implement zero_array in s390x
diff --git a/rpython/jit/backend/llsupport/rewrite.py b/rpython/jit/backend/llsupport/rewrite.py
--- a/rpython/jit/backend/llsupport/rewrite.py
+++ b/rpython/jit/backend/llsupport/rewrite.py
@@ -488,8 +488,8 @@
elif arraydescr.itemsize == 0:
total_size = arraydescr.basesize
elif (self.gc_ll_descr.can_use_nursery_malloc(1) and
- self.gen_malloc_nursery_varsize(arraydescr.itemsize,
- v_length, op, arraydescr, kind=kind)):
+ self.gen_malloc_nursery_varsize(arraydescr.itemsize, v_length,
+ op, arraydescr, kind=kind)):
# note that we cannot initialize tid here, because the array
# might end up being allocated by malloc_external or some
# stuff that initializes GC header fields differently
diff --git a/rpython/jit/backend/x86/assembler.py b/rpython/jit/backend/x86/assembler.py
--- a/rpython/jit/backend/x86/assembler.py
+++ b/rpython/jit/backend/x86/assembler.py
@@ -2354,12 +2354,12 @@
jmp_adr0 = self.mc.get_relative_pos()
self.mc.MOV(eax, heap(nursery_free_adr))
- assert valid_addressing_size(itemsize)
- shift = get_scale(itemsize)
- #else:
- # shift = self._imul_const_scaled(self.mc, edi.value,
- # varsizeloc.value, itemsize)
- # varsizeloc = edi
+ if valid_addressing_size(itemsize):
+ shift = get_scale(itemsize)
+ else:
+ shift = self._imul_const_scaled(self.mc, edi.value,
+ varsizeloc.value, itemsize)
+ varsizeloc = edi
# now varsizeloc is a register != eax. The size of
# the variable part of the array is (varsizeloc << shift)
More information about the pypy-commit
mailing list