Index: tools/binary_size/libsupersize/models.py |
diff --git a/tools/binary_size/libsupersize/models.py b/tools/binary_size/libsupersize/models.py |
index dac0072bbe660d2b7aa48fd144def9a40191ae93..7e2ceb1c123752c70afe25604f95a280eec36b45 100644 |
--- a/tools/binary_size/libsupersize/models.py |
+++ b/tools/binary_size/libsupersize/models.py |
@@ -82,21 +82,21 @@ class SizeInfoDiff(object): |
Fields: |
section_sizes: A dict of section_name -> size delta. |
symbols: A SymbolDiff with all symbols in it. |
- old_metadata: metadata of the "old" SizeInfo. |
- new_metadata: metadata of the "new" SizeInfo. |
+ before_metadata: metadata of the "before" SizeInfo. |
+ after_metadata: metadata of the "after" SizeInfo. |
""" |
__slots__ = ( |
'section_sizes', |
'symbols', |
- 'old_metadata', |
- 'new_metadata', |
+ 'before_metadata', |
+ 'after_metadata', |
) |
- def __init__(self, section_sizes, symbols, old_metadata, new_metadata): |
+ def __init__(self, section_sizes, symbols, before_metadata, after_metadata): |
self.section_sizes = section_sizes |
self.symbols = symbols |
- self.old_metadata = old_metadata |
- self.new_metadata = new_metadata |
+ self.before_metadata = before_metadata |
+ self.after_metadata = after_metadata |
class BaseSymbol(object): |
@@ -253,14 +253,15 @@ class SymbolGroup(BaseSymbol): |
def __sub__(self, other): |
other_ids = set(id(s) for s in other) |
- new_symbols = [s for s in self if id(s) not in other_ids] |
- return self._CreateTransformed(new_symbols, section_name=self.section_name) |
+ after_symbols = [s for s in self if id(s) not in other_ids] |
+ return self._CreateTransformed(after_symbols, |
+ section_name=self.section_name) |
def __add__(self, other): |
self_ids = set(id(s) for s in self) |
- new_symbols = self._symbols + [s for s in other if id(s) not in self_ids] |
- return self._CreateTransformed(new_symbols, section_name=self.section_name, |
- is_sorted=False) |
+ after_symbols = self._symbols + [s for s in other if id(s) not in self_ids] |
+ return self._CreateTransformed( |
+ after_symbols, section_name=self.section_name, is_sorted=False) |
@property |
def address(self): |
@@ -313,9 +314,9 @@ class SymbolGroup(BaseSymbol): |
cmp_func = lambda a, b: cmp((a.IsBss(), abs(b.size), a.name), |
(b.IsBss(), abs(a.size), b.name)) |
- new_symbols = sorted(self._symbols, cmp_func, key, reverse) |
+ after_symbols = sorted(self._symbols, cmp_func, key, reverse) |
return self._CreateTransformed( |
- new_symbols, filtered_symbols=self._filtered_symbols, |
+ after_symbols, filtered_symbols=self._filtered_symbols, |
section_name=self.section_name, is_sorted=True) |
def SortedByName(self, reverse=False): |
@@ -416,7 +417,7 @@ class SymbolGroup(BaseSymbol): |
Use a negative value to omit symbols entirely rather than |
include them outside of a group. |
""" |
- new_syms = [] |
+ after_syms = [] |
filtered_symbols = [] |
symbols_by_token = collections.defaultdict(list) |
# Index symbols by |func|. |
@@ -430,15 +431,15 @@ class SymbolGroup(BaseSymbol): |
min_count = abs(min_count) |
for token, symbols in symbols_by_token.iteritems(): |
if len(symbols) >= min_count: |
- new_syms.append(self._CreateTransformed( |
+ after_syms.append(self._CreateTransformed( |
symbols, name=token, section_name=self.section_name, |
is_sorted=False)) |
elif include_singles: |
- new_syms.extend(symbols) |
+ after_syms.extend(symbols) |
else: |
filtered_symbols.extend(symbols) |
return self._CreateTransformed( |
- new_syms, filtered_symbols=filtered_symbols, |
+ after_syms, filtered_symbols=filtered_symbols, |
section_name=self.section_name, is_sorted=False) |
def GroupBySectionName(self): |
@@ -589,7 +590,7 @@ class SymbolDiff(SymbolGroup): |
return self.Filter(lambda s: not self.IsSimilar(s) or s.size) |
-def Diff(new, old): |
+def Diff(before, after): |
"""Diffs two SizeInfo or SymbolGroup objects. |
When diffing SizeInfos, a SizeInfoDiff is returned. |
@@ -599,15 +600,16 @@ def Diff(new, old): |
Returns a SizeInfo when args are of type SizeInfo. |
Returns a SymbolDiff when args are of type SymbolGroup. |
""" |
- if isinstance(new, SizeInfo): |
- assert isinstance(old, SizeInfo) |
- section_sizes = { |
- k:new.section_sizes[k] - v for k, v in old.section_sizes.iteritems()} |
- symbol_diff = Diff(new.symbols, old.symbols) |
- return SizeInfoDiff(section_sizes, symbol_diff, old.metadata, new.metadata) |
+ if isinstance(after, SizeInfo): |
+ assert isinstance(before, SizeInfo) |
+ section_sizes = {k: after.section_sizes[k] - v |
+ for k, v in before.section_sizes.iteritems()} |
+ symbol_diff = _DiffSymbols(before.symbols, after.symbols) |
+ return SizeInfoDiff(section_sizes, symbol_diff, before.metadata, |
+ after.metadata) |
- assert isinstance(new, SymbolGroup) and isinstance(old, SymbolGroup) |
- return _DiffSymbols(new, old) |
+ assert isinstance(after, SymbolGroup) and isinstance(before, SymbolGroup) |
+ return _DiffSymbols(before, after) |
def _NegateAll(symbols): |
@@ -625,9 +627,9 @@ def _NegateAll(symbols): |
return ret |
-def _DiffSymbols(new_group, old_group): |
+def _DiffSymbols(before, after): |
symbols_by_key = collections.defaultdict(list) |
- for s in old_group: |
+ for s in before: |
symbols_by_key[s._Key()].append(s) |
added = [] |
@@ -635,32 +637,33 @@ def _DiffSymbols(new_group, old_group): |
# For similar symbols, padding is zeroed out. In order to not lose the |
# information entirely, store it in aggregate. |
padding_by_section_name = collections.defaultdict(int) |
- for new_sym in new_group: |
- matching_syms = symbols_by_key.get(new_sym._Key()) |
+ for after_sym in after: |
+ matching_syms = symbols_by_key.get(after_sym._Key()) |
if matching_syms: |
- old_sym = matching_syms.pop(0) |
- if old_sym.IsGroup() and new_sym.IsGroup(): |
- merged_sym = _DiffSymbols(new_sym, old_sym) |
+ before_sym = matching_syms.pop(0) |
+ if before_sym.IsGroup() and after_sym.IsGroup(): |
+ merged_sym = _DiffSymbols(before_sym, after_sym) |
else: |
- size_diff = new_sym.size_without_padding - old_sym.size_without_padding |
- merged_sym = Symbol(new_sym.section_name, size_diff, |
- address=new_sym.address, name=new_sym.name, |
- source_path=new_sym.source_path, |
- object_path=new_sym.object_path, |
- full_name=new_sym.full_name, |
- is_anonymous=new_sym.is_anonymous) |
+ size_diff = (after_sym.size_without_padding - |
+ before_sym.size_without_padding) |
+ merged_sym = Symbol(after_sym.section_name, size_diff, |
+ address=after_sym.address, name=after_sym.name, |
+ source_path=after_sym.source_path, |
+ object_path=after_sym.object_path, |
+ full_name=after_sym.full_name, |
+ is_anonymous=after_sym.is_anonymous) |
# Diffs are more stable when comparing size without padding, except when |
# the symbol is a padding-only symbol. |
- if new_sym.size_without_padding == 0 and size_diff == 0: |
- merged_sym.padding = new_sym.padding - old_sym.padding |
+ if after_sym.size_without_padding == 0 and size_diff == 0: |
+ merged_sym.padding = after_sym.padding - before_sym.padding |
else: |
- padding_by_section_name[new_sym.section_name] += ( |
- new_sym.padding - old_sym.padding) |
+ padding_by_section_name[after_sym.section_name] += ( |
+ after_sym.padding - before_sym.padding) |
similar.append(merged_sym) |
else: |
- added.append(new_sym) |
+ added.append(after_sym) |
removed = [] |
for remaining_syms in symbols_by_key.itervalues(): |
@@ -671,9 +674,9 @@ def _DiffSymbols(new_group, old_group): |
if padding != 0: |
similar.append(Symbol(section_name, padding, |
name="** aggregate padding of diff'ed symbols")) |
- return SymbolDiff(added, removed, similar, name=new_group.name, |
- full_name=new_group.full_name, |
- section_name=new_group.section_name) |
+ return SymbolDiff(added, removed, similar, name=after.name, |
+ full_name=after.full_name, |
+ section_name=after.section_name) |
def _ExtractPrefixBeforeSeparator(string, separator, count=1): |