예제 #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
파일: boehm.py 프로젝트: mozillazg/pypy
 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
파일: gc.py 프로젝트: GaussDing/pypy
 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
파일: boehm.py 프로젝트: sota/pypy-old
 def gcheader_initdata(self, obj):
     hdr = lltype.malloc(self.HDR, immortal=True)
     hdr.hash = lltype.identityhash_nocache(obj._as_ptr())
     return hdr._obj