{"name": "report_parse_ignore_callees_opt", "code": "__int64 __fastcall report_parse_ignore_callees_opt ( __int64 @@a1@@ , const char * @@a2@@ ) { int @@errcode@@ ; char @@errbuf@@ [ Number ] ; unsigned __int64 @@v5@@ ; @@v5@@ = __readfsqword ( Number ) ; if ( @@a2@@ ) { @@errcode@@ = regcomp ( & ignore_callees_regex , @@a2@@ , Number ) ; if ( @@errcode@@ ) { regerror ( @@errcode@@ , & ignore_callees_regex , @@errbuf@@ , Number ) ; eprintf ( Number L , verbose , String , @@a2@@ , @@errbuf@@ ) ; return Number ; } have_ignore_callees = Number ; } return Number L ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 3, "t": "const char"}, "location": "r64"}, {"n": "v5", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s8"}, {"n": "errbuf", "t": {"T": 2, "n": 8200, "s": 1, "t": "char"}, "location": "s8208"}, {"n": "errcode", "t": {"T": 1, "n": "int", "s": 4}, "location": "s8212"}]}
{"name": "cmd_report", "code": "__int64 __fastcall cmd_report ( unsigned int @@a1@@ , __int64 * @@a2@@ ) { __int64 * @@v3@@ ; const char * v4 ; int @@v5@@ ; char @@v6@@ ; int @@v7@@ ; unsigned int @@v8@@ ; const char * @@v9@@ ; char * @@v10@@ ; __int64 @@v11@@ ; __int64 @@v12@@ ; __int64 @@v13@@ ; __int64 @@v14@@ [ Number ] ; struct stat64 @@buf@@ ; __int64 @@v16@@ [ Number ] ; _QWORD @@v17@@ [ Number ] ; char @@v18@@ [ Number ] ; unsigned __int64 @@v19@@ ; @@v19@@ = __readfsqword ( Number ) ; @@v7@@ = Number ; @@v8@@ = Number ; strcpy ( @@v18@@ , String ) ; @@v14@@ [ Number ] = ( __int64 ) String ; @@v14@@ [ Number ] = Number L ; memset ( @@v16@@ , Number , sizeof ( @@v16@@ ) ) ; @@v16@@ [ Number ] = ( __int64 ) process_sample_event ; @@v16@@ [ Number ] = ( __int64 ) process_read_event ; @@v16@@ [ Number ] = ( __int64 ) & perf_event__process_mmap ; @@v16@@ [ Number ] = ( __int64 ) & perf_event__process_mmap2 ; @@v16@@ [ Number ] = ( __int64 ) & perf_event__process_comm ; @@v16@@ [ Number ] = ( __int64 ) & perf_event__process_fork ; @@v16@@ [ Number ] = ( __int64 ) & perf_event__process_exit ; @@v16@@ [ Number ] = ( __int64 ) & perf_event__process_lost ; @@v16@@ [ Number ] = ( __int64 ) & perf_event__process_attr ; @@v16@@ [ Number ] = ( __int64 ) & perf_event__process_tracing_data ; @@v16@@ [ Number ] = ( __int64 ) & perf_event__process_build_id ; LOWORD ( @@v16@@ [ Number ] ) = Number ; HIDWORD ( @@v16@@ [ Number ] ) = Number ; @@v16@@ [ Number ] = ( __int64 ) String ; memset ( @@v17@@ , Number , sizeof ( @@v17@@ ) ) ; @@v17@@ [ Number ] = Number ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = & input_name ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = Number ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = & verbose ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = Number ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = & dump_trace ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = Number ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = & symbol_conf [ Number ] ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = String ; LODWORD ( @@v17@@ [ Number ] ) = Number ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = & symbol_conf [ Number ] ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = Number ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = & @@v16@@ [ Number ] ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = Number ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = & symbol_conf [ Number ] ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = Number ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = & symbol_conf [ Number ] ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = Number ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = ( char * ) & @@v16@@ [ Number ] + Number ; @@v17@@ [ Number ] = String ; LODWORD ( @@v17@@ [ Number ] ) = Number ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = & @@v16@@ [ Number ] ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = String ; LODWORD ( @@v17@@ [ Number ] ) = Number ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = ( char * ) & @@v16@@ [ Number ] + Number ; @@v17@@ [ Number ] = String ; LODWORD ( @@v17@@ [ Number ] ) = Number ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = ( char * ) & @@v16@@ [ Number ] + Number ; @@v17@@ [ Number ] = String ; LODWORD ( @@v17@@ [ Number ] ) = Number ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = ( char * ) & @@v16@@ [ Number ] + Number ; @@v17@@ [ Number ] = String ; LODWORD ( @@v17@@ [ Number ] ) = Number ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = ( char * ) & @@v16@@ [ Number ] + Number ; @@v17@@ [ Number ] = String ; LODWORD ( @@v17@@ [ Number ] ) = Number ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = ( char * ) & @@v16@@ [ Number ] + Number ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = Number ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = & sort_order ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = Number ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = & field_order ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = String ; LODWORD ( @@v17@@ [ Number ] ) = Number ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = & symbol_conf [ Number ] ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = Number ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = & parent_pattern ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = Number ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = & symbol_conf [ Number ] ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = Number ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = @@v16@@ ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = String String ; LODWORD ( @@v17@@ [ Number ] ) = Number ; @@v17@@ [ Number ] = report_parse_callchain_opt ; @@v17@@ [ Number ] = @@v18@@ ; LODWORD ( @@v17@@ [ Number ] ) = Number ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = & symbol_conf [ Number ] ; @@v17@@ [ Number ] = String ; LODWORD ( @@v17@@ [ Number ] ) = Number ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = ( char * ) & @@v16@@ [ Number ] + Number ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = Number ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = & @@v16@@ [ Number ] ; @@v17@@ [ Number ] = String ; LODWORD ( @@v17@@ [ Number ] ) = Number ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = report_parse_ignore_callees_opt ; @@v17@@ [ Number ] = Number ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = & symbol_conf [ Number ] ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = Number ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = & symbol_conf [ Number ] ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = Number ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = & symbol_conf [ Number ] ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = String ; LODWORD ( @@v17@@ [ Number ] ) = Number ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = & @@v16@@ [ Number ] ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = Number ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = & symbol_conf [ Number ] ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = Number ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = & symbol_conf [ Number ] ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = Number ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = ( char * ) & @@v16@@ [ Number ] + Number ; @@v17@@ [ Number ] = String ; LODWORD ( @@v17@@ [ Number ] ) = Number ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = & symbol_conf [ Number ] ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = Number ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = & @@v16@@ [ Number ] ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = Number ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = ( char * ) & @@v16@@ [ Number ] + Number ; @@v17@@ [ Number ] = String ; LODWORD ( @@v17@@ [ Number ] ) = Number ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = & symbol_conf [ Number ] ; @@v17@@ [ Number ] = String ; LODWORD ( @@v17@@ [ Number ] ) = Number ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = & symbol_conf [ Number ] ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = Number ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = & disassembler_style ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = String ; LODWORD ( @@v17@@ [ Number ] ) = Number ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = & symbol_conf [ Number ] ; @@v17@@ [ Number ] = String ; LODWORD ( @@v17@@ [ Number ] ) = Number ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = & symbol_conf [ Number ] ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = Number ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = & @@v7@@ ; @@v17@@ [ Number ] = & unk_356B ; @@v17@@ [ Number ] = String ; LODWORD ( @@v17@@ [ Number ] ) = Number ; @@v17@@ [ Number ] = parse_branch_mode ; LODWORD ( @@v17@@ [ Number ] ) = Number ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = & objdump_path ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = String ; LODWORD ( @@v17@@ [ Number ] ) = Number ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = & symbol_conf [ Number ] ; @@v17@@ [ Number ] = String ; LODWORD ( @@v17@@ [ Number ] ) = Number ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = ( char * ) & @@v16@@ [ Number ] + Number ; @@v17@@ [ Number ] = String ; LODWORD ( @@v17@@ [ Number ] ) = Number ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = @@v16@@ ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = parse_percent_limit ; LODWORD ( @@v17@@ [ Number ] ) = Number ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = String ; @@v17@@ [ Number ] = & parse_filter_percentage ; @@v10@@ = Number L ; @@v11@@ = Number L ; @@v12@@ = Number L ; @@v13@@ = Number L ; perf_config ( report__config , @@v16@@ , @@v17@@ ) ; @@v5@@ = parse_options ( @@a1@@ , @@a2@@ , @@v17@@ , @@v14@@ , Number L ) ; if ( BYTE3 ( @@v16@@ [ Number ] ) ) { use_browser = Number ; } else if ( BYTE1 ( @@v16@@ [ Number ] ) ) { use_browser = Number ; } else if ( BYTE2 ( @@v16@@ [ Number ] ) ) { use_browser = Number ; } if ( LOBYTE ( @@v16@@ [ Number ] ) ) callchain_param [ Number ] = Number ; if ( ! input_name || ! * input_name ) { if ( fstat64 ( Number , & @@buf@@ ) || ( @@buf@@ . st_mode & Number ) != Number ) input_name = String ; else input_name = String ; } @@v10@@ = input_name ; BYTE5 ( @@v11@@ ) = @@v16@@ [ Number ] ; while ( Number ) { @@v9@@ = ( const char * ) perf_session__new ( & @@v10@@ , Number L , @@v16@@ ) ; if ( ! @@v9@@ ) return Number L ; @@v16@@ [ Number ] = ( __int64 ) @@v9@@ ; @@v6@@ = perf_header__has_feat ( @@v9@@ , Number L ) ; if ( @@v7@@ == Number && @@v6@@ ) { sort__mode = Number ; symbol_conf [ Number ] = Number ; } if ( BYTE1 ( @@v16@@ [ Number ] ) ) { if ( sort__mode == Number ) { eprintf ( Number L , verbose , String ) ; goto LABEL_54 ; } sort__mode = Number ; symbol_conf [ Number ] = Number ; } if ( ( int ) setup_sorting ( ) < Number ) break ; if ( WORD1 ( @@v16@@ [ Number ] ) ) use_browser = Number ; v4 = input_name ; if ( ! strcmp ( input_name , String ) ) { use_browser = Number ; } else { v4 = ( _BYTE * ) & loc_1 ; setup_browser ( Number L ) ; } if ( WORD1 ( @@v16@@ [ Number ] ) ) { v4 = @@v9@@ ; perf_session__fprintf_info ( @@v9@@ , stdout , BYTE6 ( @@v16@@ [ Number ] ) ) ; if ( BYTE3 ( @@v16@@ [ Number ] ) ) return Number L ; } else if ( ! use_browser ) { v4 = String ; fwrite ( String , Number , Number , stdout ) ; } if ( ( unsigned __int8 ) ui__has_annotation ( v4 ) ) { * ( _WORD * ) symbol_conf = Number ; machines__set_symbol_filter ( @@v9@@ + Number , & symbol__annotate_init ) ; if ( verbose ) { * ( _WORD * ) symbol_conf += Number ; symbol_conf [ Number ] = Number ; } } if ( ( int ) symbol__init ( ) < Number ) goto LABEL_54 ; if ( @@v5@@ ) { if ( @@v5@@ > Number ) usage_with_options ( @@v14@@ , @@v17@@ ) ; @@v16@@ [ Number ] = * @@a2@@ ; } sort__setup_elide ( stdout ) ; @@v8@@ = _cmd_report ( ( __int64 ) @@v16@@ ) ; if ( @@v8@@ != Number ) { @@v8@@ = Number ; goto LABEL_54 ; } perf_session__delete ( @@v9@@ ) ; } if ( sort_order ) parse_options_usage ( @@v14@@ , @@v17@@ , String , Number L ) ; if ( field_order ) { if ( sort_order ) @@v3@@ = Number L ; else @@v3@@ = @@v14@@ ; parse_options_usage ( @@v3@@ , @@v17@@ , String , Number L ) ; } LABEL_54 : perf_session__delete ( @@v9@@ ) ; return @@v8@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r56"}, {"n": "a2", "t": {"T": 3, "t": "__int64"}, "location": "r64"}, {"n": "v3", "t": {"T": 3, "t": "__int64"}, "location": "r8"}, {"n": "v18", "t": {"T": 2, "n": 24, "s": 1, "t": "char"}, "location": "s32"}, {"n": "v17", "t": {"T": 2, "n": 470, "s": 8, "t": "_QWORD"}, "location": "s3792"}, {"n": "v16", "t": {"T": 2, "n": 34, "s": 8, "t": "__int64"}, "location": "s4064"}, {"n": "buf", "t": {"T": 6, "n": "struct stat64", "l": [{"T": 4, "n": "st_dev", "t": "__dev_t", "s": 8}, {"T": 4, "n": "st_ino", "t": "__ino64_t", "s": 8}, {"T": 4, "n": "st_nlink", "t": "__nlink_t", "s": 8}, {"T": 4, "n": "st_mode", "t": "__mode_t", "s": 4}, {"T": 4, "n": "st_uid", "t": "__uid_t", "s": 4}, {"T": 4, "n": "st_gid", "t": "__gid_t", "s": 4}, {"T": 4, "n": "__pad0", "t": "int", "s": 4}, {"T": 4, "n": "st_rdev", "t": "__dev_t", "s": 8}, {"T": 4, "n": "st_size", "t": "__off_t", "s": 8}, {"T": 4, "n": "st_blksize", "t": "__blksize_t", "s": 8}, {"T": 4, "n": "st_blocks", "t": "__blkcnt64_t", "s": 8}, {"T": 4, "n": "st_atim", "t": "timespec", "s": 16}, {"T": 4, "n": "st_mtim", "t": "timespec", "s": 16}, {"T": 4, "n": "st_ctim", "t": "timespec", "s": 16}, {"T": 4, "n": "__unused", "t": "__syscall_slong_t[3]", "s": 24}]}, "location": "s4208"}, {"n": "v14", "t": {"T": 2, "n": 2, "s": 8, "t": "__int64"}, "location": "s4224"}, {"n": "v13", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s4232"}, {"n": "v12", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s4240"}, {"n": "v11", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s4248"}, {"n": "v10", "t": {"T": 3, "t": "char"}, "location": "s4256"}, {"n": "v9", "t": {"T": 3, "t": "const char"}, "location": "s4264"}, {"n": "v8", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s4268"}, {"n": "v7", "t": {"T": 1, "n": "int", "s": 4}, "location": "s4272"}, {"n": "v6", "t": {"T": 1, "n": "char", "s": 1}, "location": "s4273"}, {"n": "v5", "t": {"T": 1, "n": "int", "s": 4}, "location": "s4292"}, {"n": "v19", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s8"}]}