(command.CommandList children: [ (command.ShFunction name: escape_eregexp body: (command.BraceGroup children: [ (C {(sed)} {(-r)} { (SQ (Token id: Id.Lit_Chars val: 's/(\\*|\\.|\\[|\\^|\\$|\\[|\\]|\\||\\{|\\}|\\?|\\+|\\(|\\)|\\\\)/\\\\\\1/g' span_id: 32 ) ) } ) ] ) ) (command.ShFunction name: escapefn_eregexp body: (command.BraceGroup children: [ (command.Pipeline children: [(C {(echo)} {(DQ ($ Id.VSub_Number '$1'))}) (C {(escape_eregexp)})] negated: F ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:line_regexp) op: assign_op.Equal rhs: {(SQ (Token id:Id.Lit_Chars val:'^[0-9a-f]* <([^>]*)>' span_id:70))} spids: [68] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:alloc_site_regexp) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name line_regexp) ('.*')) (SQ (Token id:Id.Lit_Chars val:'call.*alloc' span_id:81)) } spids: [73] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:allocation_sites) op: assign_op.Equal rhs: { (DQ (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:86) command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(objdump)} {(--prefix-addresses)} {(-d)} {(DQ ($ Id.VSub_Number '$1'))}) (C {(egrep)} {(DQ ($ Id.VSub_DollarName '$alloc_site_regexp'))}) (C {(sed)} {(-r)} { (DQ (s/) (${ Id.VSub_Name alloc_site_regexp) ('.*/') (Id.Lit_Other '\\') (1/) ) } ) ] negated: F ) ] ) ) ) } spids: [84] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:objdump_output) op: assign_op.Equal rhs: { (DQ (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:136) command_list: (command.CommandList children: [ (C {(objdump)} {(--prefix-addresses)} {(-dS)} {(DQ ($ Id.VSub_Number '$1'))}) ] ) ) ) } spids: [134] ) ] ) (command.WhileUntil keyword: (Token id:Id.KW_While val:while span_id:152) cond: [ (command.Sentence child: (C {(read)} {(sym)} {(offset)}) terminator: (Token id:Id.Op_Semi val:';' span_id:159) ) ] body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:regexp) op: assign_op.Equal rhs: { (DQ ('<') (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:175) command_list: (command.CommandList children: [(C {(escapefn_eregexp)} {(DQ ($ Id.VSub_DollarName '$sym'))})] ) ) (Id.Lit_Other '\\') ('+') (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:186) command_list: (command.CommandList children: [ (C {(escapefn_eregexp)} {(DQ ($ Id.VSub_DollarName '$offset'))}) ] ) ) ('>') ) } spids: [172] ) ] ) (command.Simple words: [{(echo)} {(DQ ('regexp: ') ($ Id.VSub_DollarName '$regexp'))}] redirects: [ (redir.Redir op: (Token id:Id.Redir_GreatAnd val:'1>&' span_id:205) fd: 1 arg_word: {(2)} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:context) op: assign_op.Equal rhs: { (DQ (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:219) command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(echo)} {(DQ ($ Id.VSub_DollarName '$objdump_output'))}) (C {(egrep)} {(-B200)} {(DQ ($ Id.VSub_DollarName '$regexp'))}) ] negated: F ) ] ) ) ) } spids: [217] ) ] ) (command.Simple words: [{(echo)} {(DQ ('context: ') ($ Id.VSub_DollarName '$context'))}] redirects: [ (redir.Redir op: (Token id:Id.Redir_GreatAnd val:'1>&' span_id:251) fd: 1 arg_word: {(2)} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:source) op: assign_op.Equal rhs: { (DQ (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:261) command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(echo)} {(DQ ($ Id.VSub_DollarName '$context'))}) (C {(egrep)} {(-v)} {(DQ ($ Id.VSub_DollarName '$line_regexp'))}) (C {(tr)} {(SQ (Token id:Id.Lit_Chars val:'\\n' span_id:284))} {(SQ (Token id:Id.Lit_Chars val:' ' span_id:288))} ) ] negated: F ) ] ) ) ) } spids: [259] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:token) op: assign_op.Equal rhs: { (DQ (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:308) command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(echo)} {(DQ ($ Id.VSub_DollarName '$source'))}) (C {(egrep)} { (SQ (Token id: Id.Lit_Chars val: '(new|sizeof)([^0-9a-z_]|$)' span_id: 321 ) ) } ) (C {(sed)} {(-r)} { (SQ (Token id: Id.Lit_Chars val: 's/.*(new|sizeof)([^0-9a-zA-Z_]|$)/\\2/' span_id: 331 ) ) } ) (C {(sed)} {(-r)} { (SQ (Token id: Id.Lit_Chars val: 's/[^0-9a-zA-Z_]*([a-zA-Z0-9_ \\*]+).*/\\1/' span_id: 341 ) ) } ) ] negated: F ) ] ) ) ) } spids: [306] ) ] ) (command.Simple words: [{(echo)} {(DQ ('token: ') ($ Id.VSub_DollarName '$token'))}] redirects: [ (redir.Redir op: (Token id:Id.Redir_GreatAnd val:'1>&' span_id:358) fd: 1 arg_word: {(2)} ) ] ) (C {(echo)} { (DQ ('Guessed that site <') (${ Id.VSub_Name sym) ('+') (${ Id.VSub_Name offset) ('> allocated: ') (${ Id.VSub_Name token) ) } ) ] ) redirects: [ (redir.Redir op: (Token id:Id.Redir_TLess val:'<<<' span_id:385) fd: -1 arg_word: { (DQ (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:387) command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(echo)} {(DQ ($ Id.VSub_DollarName '$allocation_sites'))}) (C {(sed)} {(-r)} { (SQ (Token id: Id.Lit_Chars val: 's/\\+(0x[0-9a-f]*)$/ \\1/' span_id: 402 ) ) } ) ] negated: F ) ] ) ) ) } ) ] ) ] )