[pypy-commit] pypy gc_no_cleanup_nursery: Kill some logic, it's unnecessary

fijal noreply at buildbot.pypy.org
Thu Sep 25 10:11:05 CEST 2014


Author: Maciej Fijalkowski <fijall at gmail.com>
Branch: gc_no_cleanup_nursery
Changeset: r73688:32973aa8ab83
Date: 2014-09-25 10:10 +0200
http://bitbucket.org/pypy/pypy/changeset/32973aa8ab83/

Log:	Kill some logic, it's unnecessary

diff --git a/rpython/jit/backend/llgraph/runner.py b/rpython/jit/backend/llgraph/runner.py
--- a/rpython/jit/backend/llgraph/runner.py
+++ b/rpython/jit/backend/llgraph/runner.py
@@ -165,9 +165,6 @@
     def is_array_of_structs(self):
         return isinstance(self.A.OF, lltype.Struct)
 
-    def get_fielddescrs(self):
-        return self.fielddescrs
-
     def is_item_integer_bounded(self):
         return getkind(self.A.OF) == 'int' \
             and rffi.sizeof(self.A.OF) < symbolic.WORD
@@ -228,22 +225,6 @@
                 'i': 0,
                 'f': 0.0}
 
-def fielddescrs_for(cpu, A, res=None):
-    if res is None:
-        res = []
-    STRUCT = A.OF
-    # order is not relevant, except for tests
-    for name in STRUCT._names:
-        FIELD = getattr(STRUCT, name)
-        if FIELD is lltype.Void:
-            continue
-        elif isinstance(FIELD, lltype.Struct):
-            assert False
-            #fielddescrs_for(cpu, FIELD, res)
-        else:
-            res.append(cpu.interiorfielddescrof(A, name))
-    return res
-
 
 class LLGraphCPU(model.AbstractCPU):
     from rpython.jit.metainterp.typesystem import llhelper as ts
@@ -412,8 +393,6 @@
         except KeyError:
             descr = ArrayDescr(A)
             self.descrs[key] = descr
-            if descr.is_array_of_structs():
-                descr.fielddescrs = fielddescrs_for(self, A)
             return descr
 
     def interiorfielddescrof(self, A, fieldname):
diff --git a/rpython/jit/backend/llsupport/descr.py b/rpython/jit/backend/llsupport/descr.py
--- a/rpython/jit/backend/llsupport/descr.py
+++ b/rpython/jit/backend/llsupport/descr.py
@@ -192,7 +192,6 @@
     lendescr = None
     flag = '\x00'
     vinfo = None
-    fielddescrs = None
 
     def __init__(self, basesize, itemsize, lendescr, flag):
         self.basesize = basesize
@@ -216,9 +215,6 @@
         return self.flag in (FLAG_SIGNED, FLAG_UNSIGNED) \
             and self.itemsize < symbolic.WORD
 
-    def get_fielddescrs(self):
-        return self.fielddescrs
-
     def get_item_integer_min(self):
         if self.flag == FLAG_UNSIGNED:
             return intbounds.get_integer_min(True, self.itemsize)
@@ -258,9 +254,6 @@
             lendescr = get_field_arraylen_descr(gccache, ARRAY_OR_STRUCT)
         flag = get_type_flag(ARRAY_INSIDE.OF)
         arraydescr = ArrayDescr(basesize, itemsize, lendescr, flag)
-        if arraydescr.is_array_of_structs():
-            arraydescr.fielddescrs = heaptracker.fielddescrs(gccache,
-                                                             ARRAY_OR_STRUCT.OF)
         if ARRAY_OR_STRUCT._gckind == 'gc':
             gccache.init_array_descr(ARRAY_OR_STRUCT, arraydescr)
         cache[ARRAY_OR_STRUCT] = arraydescr
diff --git a/rpython/jit/metainterp/optimizeopt/virtualize.py b/rpython/jit/metainterp/optimizeopt/virtualize.py
--- a/rpython/jit/metainterp/optimizeopt/virtualize.py
+++ b/rpython/jit/metainterp/optimizeopt/virtualize.py
@@ -345,10 +345,7 @@
         self._items[index][ofs] = itemvalue
 
     def initialize_with_zeros(self, optimizer):
-        fielddescrs = self.arraydescr.get_fielddescrs()
-        for item_d in self._items:
-            for descr in fielddescrs:
-                item_d[descr] = optimizer.new_const(descr)
+        assert False, "should never happen"
 
     def _really_force(self, optforce):
         assert self.source_op is not None


More information about the pypy-commit mailing list