Пример #1
0
 def consider_constant(self, TYPE, value):
     if value is not lltype.top_container(value):
             return
     if isinstance(TYPE, (lltype.GcStruct, lltype.GcArray)):
         p = value._as_ptr()
         if not self.gcheaderbuilder.get_header(p):
             hdr = self.gcheaderbuilder.new_header(p)
             hdr.refcount = sys.maxint // 2
             hdr.hash = lltype.identityhash_nocache(p)
Пример #2
0
 def consider_constant(self, TYPE, value):
     if value is not lltype.top_container(value):
         return
     if isinstance(TYPE, (lltype.GcStruct, lltype.GcArray)):
         p = value._as_ptr()
         if not self.gcheaderbuilder.get_header(p):
             hdr = self.gcheaderbuilder.new_header(p)
             hdr.refcount = sys.maxint // 2
             hdr.hash = lltype.identityhash_nocache(p)
Пример #3
0
 def gcheader_initdata(self, obj):
     hdr = lltype.malloc(self.HDR, immortal=True)
     hdr.hash = lltype.identityhash_nocache(obj._as_ptr())
     return hdr._obj
Пример #4
0
 def common_gcheader_initdata(self, defnode):
     if defnode.db.gctransformer is not None:
         hdr = lltype.malloc(defnode.db.gctransformer.HDR, immortal=True)
         hdr.hash = lltype.identityhash_nocache(defnode.obj._as_ptr())
         return hdr._obj
     return None
Пример #5
0
 def common_gcheader_initdata(self, defnode):
     if defnode.db.gctransformer is not None:
         hdr = lltype.malloc(defnode.db.gctransformer.HDR, immortal=True)
         hdr.hash = lltype.identityhash_nocache(defnode.obj._as_ptr())
         return hdr._obj
     return None
Пример #6
0
 def gcheader_initdata(self, obj):
     hdr = lltype.malloc(self.HDR, immortal=True)
     hdr.hash = lltype.identityhash_nocache(obj._as_ptr())
     return hdr._obj