| 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 |