| Index: build/android/resource_sizes.py
|
| diff --git a/build/android/resource_sizes.py b/build/android/resource_sizes.py
|
| index ef42e4f129beba78d233d4e4b912e92c841af65e..b38d6475eaa5bd0f959580c8673a355fe746847c 100755
|
| --- a/build/android/resource_sizes.py
|
| +++ b/build/android/resource_sizes.py
|
| @@ -24,7 +24,6 @@
|
|
|
| import devil_chromium
|
| from devil.utils import cmd_helper
|
| -import method_count
|
| from pylib import constants
|
| from pylib.constants import host_paths
|
|
|
| @@ -37,7 +36,6 @@
|
|
|
| with host_paths.SysPath(host_paths.BUILD_COMMON_PATH):
|
| import perf_tests_results_helper # pylint: disable=import-error
|
| -
|
|
|
| # Python had a bug in zipinfo parsing that triggers on ChromeModern.apk
|
| # https://bugs.python.org/issue14315
|
| @@ -356,52 +354,29 @@
|
| return id_name_map
|
|
|
|
|
| -def _PrintStaticInitializersCountFromApk(apk_filename, chartjson=None):
|
| - print 'Finding static initializers (can take a minute)'
|
| - with zipfile.ZipFile(apk_filename) as z:
|
| - namelist = z.namelist()
|
| - out_dir = constants.GetOutDirectory()
|
| - si_count = 0
|
| - for subpath in namelist:
|
| - if subpath.endswith('.so'):
|
| - unstripped_path = os.path.join(out_dir, 'lib.unstripped',
|
| - os.path.basename(subpath))
|
| - if os.path.exists(unstripped_path):
|
| - si_count += _PrintStaticInitializersCount(unstripped_path)
|
| - else:
|
| - raise Exception('Unstripped .so not found. Looked here: %s',
|
| - unstripped_path)
|
| - ReportPerfResult(chartjson, 'StaticInitializersCount', 'count', si_count,
|
| - 'count')
|
| -
|
| -
|
| -def _PrintStaticInitializersCount(so_with_symbols_path):
|
| - """Counts the number of static initializers in the given shared library.
|
| - Additionally, files for which static initializers were found are printed
|
| - on the standard output.
|
| +def PrintStaticInitializersCount(so_with_symbols_path, chartjson=None):
|
| + """Emits the performance result for static initializers found in the provided
|
| + shared library. Additionally, files for which static initializers were
|
| + found are printed on the standard output.
|
|
|
| Args:
|
| so_with_symbols_path: Path to the unstripped libchrome.so file.
|
| -
|
| - Returns:
|
| - The number of static initializers found.
|
| """
|
| # GetStaticInitializers uses get-static-initializers.py to get a list of all
|
| # static initializers. This does not work on all archs (particularly arm).
|
| # TODO(rnephew): Get rid of warning when crbug.com/585588 is fixed.
|
| si_count = CountStaticInitializers(so_with_symbols_path)
|
| static_initializers = GetStaticInitializers(so_with_symbols_path)
|
| - static_initializers_count = len(static_initializers) - 1 # Minus summary.
|
| - if si_count != static_initializers_count:
|
| + if si_count != len(static_initializers):
|
| print ('There are %d files with static initializers, but '
|
| 'dump-static-initializers found %d:' %
|
| - (si_count, static_initializers_count))
|
| + (si_count, len(static_initializers)))
|
| else:
|
| - print '%s - Found %d files with static initializers:' % (
|
| - os.path.basename(so_with_symbols_path), si_count)
|
| + print 'Found %d files with static initializers:' % si_count
|
| print '\n'.join(static_initializers)
|
|
|
| - return si_count
|
| + ReportPerfResult(chartjson, 'StaticInitializersCount', 'count',
|
| + si_count, 'count')
|
|
|
| def _FormatBytes(byts):
|
| """Pretty-print a number of bytes."""
|
| @@ -423,19 +398,6 @@
|
| total_size += len(compressor.compress(chunk))
|
| total_size += len(compressor.flush())
|
| return total_size
|
| -
|
| -
|
| -def _PrintDexAnalysis(apk_filename, chartjson=None):
|
| - sizes = method_count.ExtractSizesFromZip(apk_filename)
|
| -
|
| - graph_title = os.path.basename(apk_filename) + '_Dex'
|
| - dex_metrics = method_count.CONTRIBUTORS_TO_DEX_CACHE
|
| - for key, label in dex_metrics.iteritems():
|
| - ReportPerfResult(chartjson, graph_title, label, sizes[key], 'entries')
|
| -
|
| - graph_title = '%sCache' % graph_title
|
| - ReportPerfResult(chartjson, graph_title, 'DexCache', sizes['dex_cache_size'],
|
| - 'bytes')
|
|
|
|
|
| def main(argv):
|
| @@ -482,9 +444,8 @@
|
| devil_chromium.Initialize()
|
|
|
| if options.so_with_symbols_path:
|
| - si_count = _PrintStaticInitializersCount(options.so_with_symbols_path)
|
| - ReportPerfResult(chartjson, 'StaticInitializersCount', 'count', si_count,
|
| - 'count')
|
| + PrintStaticInitializersCount(
|
| + options.so_with_symbols_path, chartjson=chartjson)
|
|
|
| PrintResourceSizes(files, chartjson=chartjson)
|
|
|
| @@ -492,9 +453,6 @@
|
| if f.endswith('.apk'):
|
| PrintApkAnalysis(f, chartjson=chartjson)
|
| PrintPakAnalysis(f, options.min_pak_resource_size)
|
| - _PrintDexAnalysis(f, chartjson=chartjson)
|
| - if not options.so_with_symbols_path:
|
| - _PrintStaticInitializersCountFromApk(f, chartjson=chartjson)
|
|
|
| if chartjson:
|
| results_path = os.path.join(options.output_dir, 'results-chart.json')
|
|
|