Esempio n. 1
0
 def track_heap_parent(self, obj, parent):
     addr = obj.address[0]
     parent_idx = llop.get_member_index(lltype.Signed,
                                        self.get_type_id(parent))
     idx = llop.get_member_index(lltype.Signed, self.get_type_id(addr))
     self._ll_typeid_map[parent_idx].links[idx] += 1
     self.track_heap(addr)
Esempio n. 2
0
 def track_heap_parent(self, obj, parent):
     addr = obj.address[0]
     parent_idx = llop.get_member_index(lltype.Signed,
                                        self.get_type_id(parent))
     idx = llop.get_member_index(lltype.Signed, self.get_type_id(addr))
     self._ll_typeid_map[parent_idx].links[idx] += 1
     self.track_heap(addr)
Esempio n. 3
0
 def track_heap(self, adr):
     if self._tracked_dict.contains(adr):
         return
     self._tracked_dict.add(adr)
     idx = llop.get_member_index(lltype.Signed, self.get_type_id(adr))
     self._ll_typeid_map[idx].count += 1
     totsize = self.get_size(adr) + self.size_gc_header()
     self._ll_typeid_map[idx].size += llmemory.raw_malloc_usage(totsize)
     self.trace(adr, self.track_heap_parent, adr)
Esempio n. 4
0
 def track_heap(self, adr):
     if self._tracked_dict.contains(adr):
         return
     self._tracked_dict.add(adr)
     idx = llop.get_member_index(lltype.Signed, self.get_type_id(adr))
     self._ll_typeid_map[idx].count += 1
     totsize = self.get_size(adr) + self.size_gc_header()
     self._ll_typeid_map[idx].size += llmemory.raw_malloc_usage(totsize)
     self.trace(adr, self.track_heap_parent, adr)