[pypy-commit] pypy optresult: fix for llgraph backend

fijal noreply at buildbot.pypy.org
Thu Jun 4 14:14:26 CEST 2015


Author: Maciej Fijalkowski <fijall at gmail.com>
Branch: optresult
Changeset: r77856:27601b29a154
Date: 2015-06-04 14:14 +0200
http://bitbucket.org/pypy/pypy/changeset/27601b29a154/

Log:	fix for llgraph backend

diff --git a/rpython/jit/backend/test/runner_test.py b/rpython/jit/backend/test/runner_test.py
--- a/rpython/jit/backend/test/runner_test.py
+++ b/rpython/jit/backend/test/runner_test.py
@@ -1808,15 +1808,19 @@
         cpu = self.cpu
         class FakeGCCache(object):
             pass
-        
-        if not hasattr(cpu.gc_ll_descr, '_cache_gcstruct2vtable'):
-            cpu.gc_ll_descr._cache_gcstruct2vtable = {}
-        cpu.gc_ll_descr._cache_gcstruct2vtable.update({T: vtable_for_T})
-        p = T
-        while hasattr(p, 'parent'):
-            vtable_for_parent = lltype.malloc(self.MY_VTABLE, immortal=True)
-            cpu.gc_ll_descr._cache_gcstruct2vtable[p.parent] = vtable_for_parent
-            p = p.parent
+
+        if hasattr(cpu, 'gc_ll_descr'):
+            if not hasattr(cpu.gc_ll_descr, '_cache_gcstruct2vtable'):
+                cpu.gc_ll_descr._cache_gcstruct2vtable = {}
+            cpu.gc_ll_descr._cache_gcstruct2vtable.update({T: vtable_for_T})
+            p = T
+            while hasattr(p, 'parent'):
+                vtable_for_parent = lltype.malloc(self.MY_VTABLE, immortal=True)
+                cpu.gc_ll_descr._cache_gcstruct2vtable[p.parent] = vtable_for_parent
+                p = p.parent
+        else:
+            descr = cpu.sizeof(T, True)
+            descr._corresponding_vtable = vtable_for_T
         t = lltype.malloc(T)
         if T == self.T:
             t.parent.parent.typeptr = vtable_for_T


More information about the pypy-commit mailing list