Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3)

Side by Side Diff: tools/binary_size/libsupersize/console.py

Issue 2851473003: supersize: Track symbol aliases and shared symbols (Closed)
Patch Set: fix regression in calculate padding introduced in ps3 Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 # Copyright 2017 The Chromium Authors. All rights reserved. 1 # Copyright 2017 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 """An interactive console for looking analyzing .size files.""" 5 """An interactive console for looking analyzing .size files."""
6 6
7 import argparse 7 import argparse
8 import atexit 8 import atexit
9 import code 9 import code
10 import contextlib 10 import contextlib
11 import itertools 11 import itertools
12 import logging 12 import logging
13 import os 13 import os
14 import readline 14 import readline
15 import subprocess 15 import subprocess
16 import sys 16 import sys
17 17
18 import archive 18 import archive
19 import describe 19 import describe
20 import diff
20 import file_format 21 import file_format
21 import match_util 22 import match_util
22 import models 23 import models
23 import paths 24 import paths
24 25
25 26
26 # Number of lines before using less for Print(). 27 # Number of lines before using less for Print().
27 _THRESHOLD_FOR_PAGER = 30 28 _THRESHOLD_FOR_PAGER = 30
28 29
29 30
(...skipping 30 matching lines...) Expand all
60 else: 61 else:
61 describe.WriteLines(lines, sys.stdout.write) 62 describe.WriteLines(lines, sys.stdout.write)
62 63
63 64
64 class _Session(object): 65 class _Session(object):
65 _readline_initialized = False 66 _readline_initialized = False
66 67
67 def __init__(self, size_infos, lazy_paths): 68 def __init__(self, size_infos, lazy_paths):
68 self._variables = { 69 self._variables = {
69 'Print': self._PrintFunc, 70 'Print': self._PrintFunc,
70 'Diff': models.Diff, 71 'Diff': diff.Diff,
71 'Disassemble': self._DisassembleFunc, 72 'Disassemble': self._DisassembleFunc,
72 'ExpandRegex': match_util.ExpandRegexIdentifierPlaceholder, 73 'ExpandRegex': match_util.ExpandRegexIdentifierPlaceholder,
73 'ShowExamples': self._ShowExamplesFunc, 74 'ShowExamples': self._ShowExamplesFunc,
74 } 75 }
75 self._lazy_paths = lazy_paths 76 self._lazy_paths = lazy_paths
76 self._size_infos = size_infos 77 self._size_infos = size_infos
77 78
78 if len(size_infos) == 1: 79 if len(size_infos) == 1:
79 self._variables['size_info'] = size_infos[0] 80 self._variables['size_info'] = size_infos[0]
80 else: 81 else:
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after
240 output_directory=args.output_directory, 241 output_directory=args.output_directory,
241 any_path_within_output_directory=args.inputs[0]) 242 any_path_within_output_directory=args.inputs[0])
242 session = _Session(size_infos, lazy_paths) 243 session = _Session(size_infos, lazy_paths)
243 244
244 if args.query: 245 if args.query:
245 logging.info('Running query from command-line.') 246 logging.info('Running query from command-line.')
246 session.Eval(args.query) 247 session.Eval(args.query)
247 else: 248 else:
248 logging.info('Entering interactive console.') 249 logging.info('Entering interactive console.')
249 session.GoInteractive() 250 session.GoInteractive()
OLDNEW
« no previous file with comments | « tools/binary_size/libsupersize/concurrent.py ('k') | tools/binary_size/libsupersize/describe.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698