[pypy-commit] pypy optresult-unroll: merge

fijal noreply at buildbot.pypy.org
Sun Aug 30 22:53:00 CEST 2015


Author: Maciej Fijalkowski <fijall at gmail.com>
Branch: optresult-unroll
Changeset: r79304:1828347b4ed8
Date: 2015-08-30 22:53 +0200
http://bitbucket.org/pypy/pypy/changeset/1828347b4ed8/

Log:	merge

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
@@ -63,6 +63,10 @@
     def get_vtable(self):
         return heaptracker.adr2int(llmemory.cast_ptr_to_adr(self.vtable))
 
+    def get_type_id(self):
+        assert self.tid != 0
+        return self.tid
+
 def get_size_descr(gccache, STRUCT, vtable):
     cache = gccache._cache_size
     assert not isinstance(vtable, bool)
@@ -288,7 +292,9 @@
 
         assert False
 
-
+    def get_type_id(self):
+        assert self.tid != 0
+        return self.tid
 
     def repr_of_descr(self):
         return '<Array%s %s>' % (self.flag, self.itemsize)
diff --git a/rpython/jit/backend/llsupport/gc.py b/rpython/jit/backend/llsupport/gc.py
--- a/rpython/jit/backend/llsupport/gc.py
+++ b/rpython/jit/backend/llsupport/gc.py
@@ -253,6 +253,7 @@
     str_type_id           = 0
     unicode_type_id       = 0
     get_malloc_slowpath_addr = None
+    supports_guard_gc_type   = False
 
     def is_shadow_stack(self):
         return False
@@ -417,6 +418,7 @@
     kind = 'framework'
     round_up = True
     layoutbuilder = None
+    supports_guard_gc_type = True
 
     def is_shadow_stack(self):
         return self.gcrootmap.is_shadow_stack
diff --git a/rpython/jit/backend/llsupport/llmodel.py b/rpython/jit/backend/llsupport/llmodel.py
--- a/rpython/jit/backend/llsupport/llmodel.py
+++ b/rpython/jit/backend/llsupport/llmodel.py
@@ -40,7 +40,7 @@
         else:
             translator = None
         self.gc_ll_descr = get_ll_description(gcdescr, translator, rtyper)
-        self.supports_guard_gc_type = bool(translate_support_code)
+        self.supports_guard_gc_type = self.gc_ll_descr.supports_guard_gc_type
         if translator and translator.config.translation.gcremovetypeptr:
             self.vtable_offset = None
         else:


More information about the pypy-commit mailing list