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)
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)
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)
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)