OLD | NEW |
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 # | 2 # |
3 # Copyright 2010 the V8 project authors. All rights reserved. | 3 # Copyright 2010 the V8 project authors. All rights reserved. |
4 # Redistribution and use in source and binary forms, with or without | 4 # Redistribution and use in source and binary forms, with or without |
5 # modification, are permitted provided that the following conditions are | 5 # modification, are permitted provided that the following conditions are |
6 # met: | 6 # met: |
7 # | 7 # |
8 # * Redistributions of source code must retain the above copyright | 8 # * Redistributions of source code must retain the above copyright |
9 # notice, this list of conditions and the following disclaimer. | 9 # notice, this list of conditions and the following disclaimer. |
10 # * Redistributions in binary form must reproduce the above | 10 # * Redistributions in binary form must reproduce the above |
(...skipping 316 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
327 log.close() | 327 log.close() |
328 return snapshot_pos_to_name | 328 return snapshot_pos_to_name |
329 | 329 |
330 | 330 |
331 class LogReader(object): | 331 class LogReader(object): |
332 """V8 low-level (binary) log reader.""" | 332 """V8 low-level (binary) log reader.""" |
333 | 333 |
334 _ARCH_TO_POINTER_TYPE_MAP = { | 334 _ARCH_TO_POINTER_TYPE_MAP = { |
335 "ia32": ctypes.c_uint32, | 335 "ia32": ctypes.c_uint32, |
336 "arm": ctypes.c_uint32, | 336 "arm": ctypes.c_uint32, |
| 337 "mips": ctypes.c_uint32, |
337 "x64": ctypes.c_uint64 | 338 "x64": ctypes.c_uint64 |
338 } | 339 } |
339 | 340 |
340 _CODE_CREATE_TAG = "C" | 341 _CODE_CREATE_TAG = "C" |
341 _CODE_MOVE_TAG = "M" | 342 _CODE_MOVE_TAG = "M" |
342 _CODE_DELETE_TAG = "D" | 343 _CODE_DELETE_TAG = "D" |
343 _SNAPSHOT_POSITION_TAG = "P" | 344 _SNAPSHOT_POSITION_TAG = "P" |
344 _CODE_MOVING_GC_TAG = "G" | 345 _CODE_MOVING_GC_TAG = "G" |
345 | 346 |
346 def __init__(self, log_name, code_map, snapshot_pos_to_name): | 347 def __init__(self, log_name, code_map, snapshot_pos_to_name): |
(...skipping 590 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
937 print "%10d total ticks" % ticks | 938 print "%10d total ticks" % ticks |
938 print "%10d ticks not in symbols" % missed_ticks | 939 print "%10d ticks not in symbols" % missed_ticks |
939 print "%10d unaccounted ticks" % really_missed_ticks | 940 print "%10d unaccounted ticks" % really_missed_ticks |
940 print "%10d total symbols" % len([c for c in code_map.AllCode()]) | 941 print "%10d total symbols" % len([c for c in code_map.AllCode()]) |
941 print "%10d used symbols" % len([c for c in code_map.UsedCode()]) | 942 print "%10d used symbols" % len([c for c in code_map.UsedCode()]) |
942 print "%9.2fs library processing time" % mmap_time | 943 print "%9.2fs library processing time" % mmap_time |
943 print "%9.2fs tick processing time" % sample_time | 944 print "%9.2fs tick processing time" % sample_time |
944 | 945 |
945 log_reader.Dispose() | 946 log_reader.Dispose() |
946 trace_reader.Dispose() | 947 trace_reader.Dispose() |
OLD | NEW |