[pypy-commit] pypy gc_no_cleanup_nursery: ignore void fields

fijal noreply at buildbot.pypy.org
Wed Sep 24 18:05:02 CEST 2014


Author: Maciej Fijalkowski <fijall at gmail.com>
Branch: gc_no_cleanup_nursery
Changeset: r73676:e2cff500b06d
Date: 2014-09-24 18:04 +0200
http://bitbucket.org/pypy/pypy/changeset/e2cff500b06d/

Log:	ignore void fields

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
@@ -234,7 +234,9 @@
     # order is not relevant, except for tests
     for name in STRUCT._names:
         FIELD = getattr(STRUCT, name)
-        if isinstance(FIELD, lltype.Struct):
+        if FIELD is lltype.Void:
+            continue
+        elif isinstance(FIELD, lltype.Struct):
             fielddescrs_for(cpu, FIELD, res)
         else:
             res.append(cpu.fielddescrof(STRUCT, name))
diff --git a/rpython/jit/codewriter/heaptracker.py b/rpython/jit/codewriter/heaptracker.py
--- a/rpython/jit/codewriter/heaptracker.py
+++ b/rpython/jit/codewriter/heaptracker.py
@@ -134,7 +134,9 @@
     # order is not relevant, except for tests
     for name in STRUCT._names:
         FIELD = getattr(STRUCT, name)
-        if isinstance(FIELD, lltype.Struct):
+        if FIELD is lltype.Void:
+            continue
+        elif isinstance(FIELD, lltype.Struct):
             fielddescrs(gccache, FIELD, res)
         else:
             res.append(descr.get_field_descr(gccache, STRUCT, name))


More information about the pypy-commit mailing list