| OLD | NEW |
| 1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
| 2 # | 2 # |
| 3 # Copyright 2011 the V8 project authors. All rights reserved. | 3 # Copyright 2011 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 355 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 366 # #define DUMP_TYPE(T) printf("%d: \"%s\",\n", T, #T); | 366 # #define DUMP_TYPE(T) printf("%d: \"%s\",\n", T, #T); |
| 367 # struct P { | 367 # struct P { |
| 368 # P() { | 368 # P() { |
| 369 # printf("{\n"); | 369 # printf("{\n"); |
| 370 # INSTANCE_TYPE_LIST(DUMP_TYPE) | 370 # INSTANCE_TYPE_LIST(DUMP_TYPE) |
| 371 # printf("}\n"); | 371 # printf("}\n"); |
| 372 # } | 372 # } |
| 373 # }; | 373 # }; |
| 374 # static P p; | 374 # static P p; |
| 375 INSTANCE_TYPES = { | 375 INSTANCE_TYPES = { |
| 376 64: "SYMBOL_TYPE", | 376 64: "SYMBOL_TYPE", |
| 377 68: "ASCII_SYMBOL_TYPE", | 377 68: "ASCII_SYMBOL_TYPE", |
| 378 65: "CONS_SYMBOL_TYPE", | 378 65: "CONS_SYMBOL_TYPE", |
| 379 69: "CONS_ASCII_SYMBOL_TYPE", | 379 69: "CONS_ASCII_SYMBOL_TYPE", |
| 380 66: "EXTERNAL_SYMBOL_TYPE", | 380 66: "EXTERNAL_SYMBOL_TYPE", |
| 381 74: "EXTERNAL_SYMBOL_WITH_ASCII_DATA_TYPE", | 381 74: "EXTERNAL_SYMBOL_WITH_ASCII_DATA_TYPE", |
| 382 70: "EXTERNAL_ASCII_SYMBOL_TYPE", | 382 70: "EXTERNAL_ASCII_SYMBOL_TYPE", |
| 383 0: "STRING_TYPE", | 383 0: "STRING_TYPE", |
| 384 4: "ASCII_STRING_TYPE", | 384 4: "ASCII_STRING_TYPE", |
| 385 1: "CONS_STRING_TYPE", | 385 1: "CONS_STRING_TYPE", |
| 386 5: "CONS_ASCII_STRING_TYPE", | 386 5: "CONS_ASCII_STRING_TYPE", |
| 387 2: "EXTERNAL_STRING_TYPE", | 387 2: "EXTERNAL_STRING_TYPE", |
| 388 10: "EXTERNAL_STRING_WITH_ASCII_DATA_TYPE", | 388 10: "EXTERNAL_STRING_WITH_ASCII_DATA_TYPE", |
| 389 6: "EXTERNAL_ASCII_STRING_TYPE", | 389 6: "EXTERNAL_ASCII_STRING_TYPE", |
| 390 6: "PRIVATE_EXTERNAL_ASCII_STRING_TYPE", | 390 6: "PRIVATE_EXTERNAL_ASCII_STRING_TYPE", |
| 391 128: "MAP_TYPE", | 391 128: "MAP_TYPE", |
| 392 129: "CODE_TYPE", | 392 129: "CODE_TYPE", |
| 393 130: "ODDBALL_TYPE", | 393 130: "ODDBALL_TYPE", |
| 394 131: "JS_GLOBAL_PROPERTY_CELL_TYPE", | 394 131: "JS_GLOBAL_PROPERTY_CELL_TYPE", |
| 395 132: "HEAP_NUMBER_TYPE", | 395 132: "HEAP_NUMBER_TYPE", |
| 396 133: "FOREIGN_TYPE", | 396 133: "FOREIGN_TYPE", |
| 397 134: "BYTE_ARRAY_TYPE", | 397 134: "BYTE_ARRAY_TYPE", |
| 398 135: "EXTERNAL_BYTE_ARRAY_TYPE", | 398 135: "EXTERNAL_BYTE_ARRAY_TYPE", |
| 399 136: "EXTERNAL_UNSIGNED_BYTE_ARRAY_TYPE", | 399 136: "EXTERNAL_UNSIGNED_BYTE_ARRAY_TYPE", |
| 400 137: "EXTERNAL_SHORT_ARRAY_TYPE", | 400 137: "EXTERNAL_SHORT_ARRAY_TYPE", |
| 401 138: "EXTERNAL_UNSIGNED_SHORT_ARRAY_TYPE", | 401 138: "EXTERNAL_UNSIGNED_SHORT_ARRAY_TYPE", |
| 402 139: "EXTERNAL_INT_ARRAY_TYPE", | 402 139: "EXTERNAL_INT_ARRAY_TYPE", |
| 403 140: "EXTERNAL_UNSIGNED_INT_ARRAY_TYPE", | 403 140: "EXTERNAL_UNSIGNED_INT_ARRAY_TYPE", |
| 404 141: "EXTERNAL_FLOAT_ARRAY_TYPE", | 404 141: "EXTERNAL_FLOAT_ARRAY_TYPE", |
| 405 142: "EXTERNAL_DOUBLE_ARRAY_TYPE", | 405 143: "EXTERNAL_PIXEL_ARRAY_TYPE", |
| 406 143: "EXTERNAL_PIXEL_ARRAY_TYPE", | 406 145: "FILLER_TYPE", |
| 407 144: "FILLER_TYPE", | 407 146: "ACCESSOR_INFO_TYPE", |
| 408 145: "ACCESSOR_INFO_TYPE", | 408 147: "ACCESS_CHECK_INFO_TYPE", |
| 409 146: "ACCESS_CHECK_INFO_TYPE", | 409 148: "INTERCEPTOR_INFO_TYPE", |
| 410 147: "INTERCEPTOR_INFO_TYPE", | 410 149: "CALL_HANDLER_INFO_TYPE", |
| 411 148: "CALL_HANDLER_INFO_TYPE", | 411 150: "FUNCTION_TEMPLATE_INFO_TYPE", |
| 412 149: "FUNCTION_TEMPLATE_INFO_TYPE", | 412 151: "OBJECT_TEMPLATE_INFO_TYPE", |
| 413 150: "OBJECT_TEMPLATE_INFO_TYPE", | 413 152: "SIGNATURE_INFO_TYPE", |
| 414 151: "SIGNATURE_INFO_TYPE", | 414 153: "TYPE_SWITCH_INFO_TYPE", |
| 415 152: "TYPE_SWITCH_INFO_TYPE", | 415 154: "SCRIPT_TYPE", |
| 416 153: "SCRIPT_TYPE", | 416 155: "CODE_CACHE_TYPE", |
| 417 154: "CODE_CACHE_TYPE", | 417 156: "POLYMORPHIC_CODE_CACHE_TYPE", |
| 418 155: "DEBUG_INFO_TYPE", | 418 159: "FIXED_ARRAY_TYPE", |
| 419 156: "BREAK_POINT_INFO_TYPE", | 419 160: "SHARED_FUNCTION_INFO_TYPE", |
| 420 157: "FIXED_ARRAY_TYPE", | 420 161: "JS_MESSAGE_OBJECT_TYPE", |
| 421 158: "SHARED_FUNCTION_INFO_TYPE", | 421 162: "JS_VALUE_TYPE", |
| 422 159: "JS_MESSAGE_OBJECT_TYPE", | 422 163: "JS_OBJECT_TYPE", |
| 423 160: "JS_VALUE_TYPE", | 423 164: "JS_CONTEXT_EXTENSION_OBJECT_TYPE", |
| 424 161: "JS_OBJECT_TYPE", | 424 165: "JS_GLOBAL_OBJECT_TYPE", |
| 425 162: "JS_CONTEXT_EXTENSION_OBJECT_TYPE", | 425 166: "JS_BUILTINS_OBJECT_TYPE", |
| 426 163: "JS_GLOBAL_OBJECT_TYPE", | 426 167: "JS_GLOBAL_PROXY_TYPE", |
| 427 164: "JS_BUILTINS_OBJECT_TYPE", | 427 168: "JS_ARRAY_TYPE", |
| 428 165: "JS_GLOBAL_PROXY_TYPE", | 428 169: "JS_PROXY_TYPE", |
| 429 166: "JS_ARRAY_TYPE", | 429 170: "JS_REGEXP_TYPE", |
| 430 167: "JS_PROXY_TYPE", | 430 171: "JS_FUNCTION_TYPE", |
| 431 168: "JS_REGEXP_TYPE", | 431 172: "JS_FUNCTION_PROXY_TYPE", |
| 432 169: "JS_FUNCTION_TYPE", | 432 157: "DEBUG_INFO_TYPE", |
| 433 170: "JS_FUNCTION_PROXY_TYPE", | 433 158: "BREAK_POINT_INFO_TYPE", |
| 434 } | 434 } |
| 435 | 435 |
| 436 | 436 |
| 437 class Printer(object): | 437 class Printer(object): |
| 438 """Printer with indentation support.""" | 438 """Printer with indentation support.""" |
| 439 | 439 |
| 440 def __init__(self): | 440 def __init__(self): |
| 441 self.indent = 0 | 441 self.indent = 0 |
| 442 | 442 |
| 443 def Indent(self): | 443 def Indent(self): |
| (...skipping 390 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 834 reader.Dispose() | 834 reader.Dispose() |
| 835 | 835 |
| 836 | 836 |
| 837 if __name__ == "__main__": | 837 if __name__ == "__main__": |
| 838 parser = optparse.OptionParser(USAGE) | 838 parser = optparse.OptionParser(USAGE) |
| 839 options, args = parser.parse_args() | 839 options, args = parser.parse_args() |
| 840 if len(args) != 1: | 840 if len(args) != 1: |
| 841 parser.print_help() | 841 parser.print_help() |
| 842 sys.exit(1) | 842 sys.exit(1) |
| 843 AnalyzeMinidump(options, args[0]) | 843 AnalyzeMinidump(options, args[0]) |
| OLD | NEW |