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

Side by Side Diff: tools/deep_memory_profiler/dmprof.py

Issue 15948004: Fix a case 'submatched_dict' may include a key with None value. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebased Created 7 years, 6 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2012 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 """The deep heap profiler script for Chrome.""" 5 """The deep heap profiler script for Chrome."""
6 6
7 import copy 7 import copy
8 import datetime 8 import datetime
9 import json 9 import json
10 import logging 10 import logging
(...skipping 1018 matching lines...) Expand 10 before | Expand all | Expand 10 after
1029 submatched = self._OLD_HOOKED_PATTERN.match(matched.group(8)) 1029 submatched = self._OLD_HOOKED_PATTERN.match(matched.group(8))
1030 elif matched.group(7) == 'unhooked': 1030 elif matched.group(7) == 'unhooked':
1031 submatched = self._UNHOOKED_PATTERN.match(matched.group(8)) 1031 submatched = self._UNHOOKED_PATTERN.match(matched.group(8))
1032 if not submatched: 1032 if not submatched:
1033 submatched = self._OLD_UNHOOKED_PATTERN.match(matched.group(8)) 1033 submatched = self._OLD_UNHOOKED_PATTERN.match(matched.group(8))
1034 else: 1034 else:
1035 assert matched.group(7) in ['hooked', 'unhooked'] 1035 assert matched.group(7) in ['hooked', 'unhooked']
1036 1036
1037 submatched_dict = submatched.groupdict() 1037 submatched_dict = submatched.groupdict()
1038 region_info = { 'vma': current_vma } 1038 region_info = { 'vma': current_vma }
1039 if 'TYPE' in submatched_dict: 1039 if submatched_dict.get('TYPE'):
1040 region_info['type'] = submatched_dict['TYPE'].strip() 1040 region_info['type'] = submatched_dict['TYPE'].strip()
1041 if 'COMMITTED' in submatched_dict: 1041 if submatched_dict.get('COMMITTED'):
1042 region_info['committed'] = int(submatched_dict['COMMITTED']) 1042 region_info['committed'] = int(submatched_dict['COMMITTED'])
1043 if 'RESERVED' in submatched_dict: 1043 if submatched_dict.get('RESERVED'):
1044 region_info['reserved'] = int(submatched_dict['RESERVED']) 1044 region_info['reserved'] = int(submatched_dict['RESERVED'])
1045 if 'BUCKETID' in submatched_dict: 1045 if submatched_dict.get('BUCKETID'):
1046 region_info['bucket_id'] = int(submatched_dict['BUCKETID']) 1046 region_info['bucket_id'] = int(submatched_dict['BUCKETID'])
1047 1047
1048 self._map[(int(matched.group(2), 16), 1048 self._map[(int(matched.group(2), 16),
1049 int(matched.group(5), 16))] = (matched.group(7), region_info) 1049 int(matched.group(5), 16))] = (matched.group(7), region_info)
1050 ln += 1 1050 ln += 1
1051 1051
1052 def _extract_stacktrace_lines(self, line_number): 1052 def _extract_stacktrace_lines(self, line_number):
1053 """Extracts the position of stacktrace lines. 1053 """Extracts the position of stacktrace lines.
1054 1054
1055 Valid stacktrace lines are stored into self._stacktrace_lines. 1055 Valid stacktrace lines are stored into self._stacktrace_lines.
(...skipping 838 matching lines...) Expand 10 before | Expand all | Expand 10 after
1894 errorcode = COMMANDS[action]().do(sys.argv) 1894 errorcode = COMMANDS[action]().do(sys.argv)
1895 except ParsingException, e: 1895 except ParsingException, e:
1896 errorcode = 1 1896 errorcode = 1
1897 sys.stderr.write('Exit by parsing error: %s\n' % e) 1897 sys.stderr.write('Exit by parsing error: %s\n' % e)
1898 1898
1899 return errorcode 1899 return errorcode
1900 1900
1901 1901
1902 if __name__ == '__main__': 1902 if __name__ == '__main__':
1903 sys.exit(main()) 1903 sys.exit(main())
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698