| Index: tools/memory_inspector/memory_inspector/core/memory_map.py
|
| diff --git a/tools/memory_inspector/memory_inspector/core/memory_map.py b/tools/memory_inspector/memory_inspector/core/memory_map.py
|
| index 81ff484b46ae3f3d2ee01bf41eeba85bd3020265..fe716089f0692f251852674d5f2434ea66506aac 100644
|
| --- a/tools/memory_inspector/memory_inspector/core/memory_map.py
|
| +++ b/tools/memory_inspector/memory_inspector/core/memory_map.py
|
| @@ -61,9 +61,19 @@ class MapEntry(object):
|
| # the presence of its corresponding page.
|
| self.resident_pages = resident_pages or []
|
|
|
| - def GetRelativeOffset(self, abs_addr):
|
| + def GetRelativeMMOffset(self, abs_addr):
|
| + """Converts abs_addr to the corresponding offset in the mm.
|
| +
|
| + Returns:
|
| + A tuple: (page_index, offset_in_page)
|
| + """
|
| + assert(self.Contains(abs_addr))
|
| + offset = abs_addr - self.start
|
| + return (offset / PAGE_SIZE, offset & (PAGE_SIZE - 1))
|
| +
|
| + def GetRelativeFileOffset(self, abs_addr):
|
| """Converts abs_addr to the corresponding offset in the mapped file."""
|
| - assert(abs_addr >= self.start and abs_addr <= self.end)
|
| + assert(self.Contains(abs_addr))
|
| return abs_addr - self.start + self.mapped_offset
|
|
|
| def IsPageResident(self, relative_page_index):
|
| @@ -77,6 +87,10 @@ class MapEntry(object):
|
| return False
|
| return (self.resident_pages[arr_idx] & (1 << arr_bit)) != 0
|
|
|
| + def Contains(self, abs_addr):
|
| + """Determines whether a given absolute address belongs to the current mm."""
|
| + return abs_addr >= self.start and abs_addr <= self.end
|
| +
|
| def __cmp__(self, other):
|
| """Comparison operator required for bisect."""
|
| if isinstance(other, MapEntry):
|
| @@ -91,6 +105,10 @@ class MapEntry(object):
|
| return self.end - self.start + 1
|
|
|
| @property
|
| + def num_pages(self):
|
| + return self.len / PAGE_SIZE
|
| +
|
| + @property
|
| def rss_bytes(self):
|
| return (self.priv_dirty_bytes + self.priv_clean_bytes +
|
| self.shared_dirty_bytes + self.shared_clean_bytes)
|
|
|