(CommandList children: [ (C {(set)} {(-o)} {(nounset)}) (C {(set)} {(-o)} {(pipefail)}) (C {(set)} {(-o)} {(errexit)}) (C {(source)} {(benchmarks/common.sh)}) (C {(source)} {(build/common.sh)}) (Assignment keyword: Assign_Readonly pairs: [(assign_pair lhs:(LhsName name:BASE_DIR) op:Equal rhs:{(_tmp/ovm-build)} spids:[113])] spids: [111] ) (Assignment keyword: Assign_Readonly pairs: [ (assign_pair lhs: (LhsName name:TAR_DIR) op: Equal rhs: {($ VSub_Name '$PWD') (/_deps/ovm-build)} spids: [118] ) ] spids: [116] ) (Assignment keyword: Assign_Readonly pairs: [ (assign_pair lhs: (LhsName name:OIL_VERSION) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(head)} {(-n)} {(1)} {(oil-version.txt)})]) left_token: <Left_CommandSub '$('> spids: [139 147] ) } spids: [138] ) ] spids: [136] ) (Assignment keyword: Assign_Readonly flags: [-a] pairs: [ (assign_pair lhs: (LhsName name:TAR_SUBDIRS) op: Equal rhs: {(ArrayLiteralPart words:[{(bash-4.4)} {(dash-0.5.9.1)}])} spids: [160] ) ] spids: [156] ) (FuncDef name: tarballs body: (BraceGroup children: [ (SimpleCommand words: [{(cat)}] redirects: [ (HereDoc op_id: Redir_DLess fd: 16777215 body: {(DQ ('bash-4.4.tar.gz\n') ('dash-0.5.9.1.tar.gz\n') ('mksh-R56c.tgz\n'))} do_expansion: True here_end: EOF was_filled: T spids: [185] ) ] ) ] spids: [180] ) spids: [176 179] ) (FuncDef name: download body: (BraceGroup children: [ (C {(mkdir)} {(-p)} {($ VSub_Name '$TAR_DIR')}) (Pipeline children: [ (C {(tarballs)}) (C {(xargs)} {(-n)} {(1)} {(-I)} {(Lit_LBrace '{') (Lit_RBrace '}')} {(--verbose)} {(--)} {(wget)} {(--directory)} {($ VSub_Name '$TAR_DIR')} {(SQ <'https://www.oilshell.org/blob/ovm-build/{}'>)} ) ] negated: F ) ] spids: [199] ) spids: [195 198] ) (FuncDef name: extract-other body: (BraceGroup children: [ (TimeBlock pipeline: (ForEach iter_name: f iter_words: [{($ VSub_Name '$TAR_DIR') (/) (Lit_Other '*') (gz)}] do_arg_iter: F body: (DoGroup children: [ (C {(tar)} {(-x)} {(--directory)} {($ VSub_Name '$TAR_DIR')} {(--file)} {($ VSub_Name '$f')} ) ] spids: [267 284] ) spids: [260 265] ) ) ] spids: [250] ) spids: [246 249] ) (FuncDef name: extract-oil body: (BraceGroup children: [ (C {(rm)} {(-r)} {(-f)} {(-v)} {($ VSub_Name '$TAR_DIR') (/oil-) (Lit_Other '*')}) (C {(tar)} {(-x)} {(--directory)} {($ VSub_Name '$TAR_DIR')} {(--file)} {(_release/oil.tar)}) ] spids: [305] ) spids: [301 304] ) (FuncDef name: sizes-tsv body: (BraceGroup children: [ (C {(echo)} { (SingleQuotedPart left: <Left_DollarSingleQuote "$'"> tokens: [ <Char_Literals host_label> <Char_OneChar '\\t'> <Char_Literals num_bytes> <Char_OneChar '\\t'> <Char_Literals path> ] ) } ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:host) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(hostname)})]) left_token: <Left_CommandSub '$('> spids: [388 390] ) } spids: [387] ) ] spids: [385] ) (C {(find)} {(DQ ($ VSub_At '$@'))} {(-maxdepth)} {(0)} {(-printf)} { (DQ ($ VSub_Name '$host') (Lit_Other '\\') ('t%s') (Lit_Other '\\') ('t%p') (Lit_Other '\\') (n) ) } ) ] spids: [367] ) spids: [363 366] ) (FuncDef name: measure-sizes body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:prefix) op: Equal rhs: { (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {($ VSub_Name '$BASE_DIR') (Lit_Slash /) (raw) (Lit_Slash /) (demo)} ) spids: [434 442] ) } spids: [433] ) ] spids: [431] ) (SimpleCommand words: [ {(sizes-tsv)} {($ VSub_Name '$TAR_DIR') (/oil-) ($ VSub_Name '$OIL_VERSION') (/_build/oil/bytecode-opy.zip) } ] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(${ VSub_Name prefix) (.bytecode-size.tsv)} spids: [464] ) ] ) (SimpleCommand words: [ {(sizes-tsv)} {($ VSub_Name '$BASE_DIR') (/bin/) (Lit_Other '*') (/oil.) (Lit_Other '*')} ] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(${ VSub_Name prefix) (.bin-sizes.tsv)} spids: [483] ) ] ) (SimpleCommand words: [ {(sizes-tsv)} {($ VSub_Name '$BASE_DIR') (/bin/) (Lit_Other '*') (/) (Lit_Other '*') (sh)} ] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(${ VSub_Name prefix) (.other-shell-sizes.tsv)} spids: [503] ) ] ) (C {(log)} {(DQ ('Wrote ') (${ VSub_Name prefix) ('.*.tsv'))}) ] spids: [428] ) spids: [424 427] ) (FuncDef name: bytecode-size body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:zip) op: Equal rhs: {(_build/oil/bytecode.zip)} spids: [557] ) ] spids: [555] ) (Pipeline children: [(C {(unzip)} {(-l)} {($ VSub_Name '$zip')}) (C {(tail)} {(-n)} {(1)})] negated: F ) (C {(ls)} {(-l)} {($ VSub_Name '$zip')}) ] spids: [552] ) spids: [548 551] ) (FuncDef name: clang-oil-dbg body: (BraceGroup children: [ (C {(make)} {(clean)}) (SimpleCommand words: [{(make)} {(_build/oil/ovm-dbg)}] more_env: [(env_pair name:CC val:{($ VSub_Name '$CLANG')} spids:[611])] ) ] spids: [603] ) spids: [599 602] ) (FuncDef name: build-task body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:raw_dir) op: Equal rhs: {($ VSub_Number '$1')} spids: [662] ) ] spids: [660] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:job_id) op: Equal rhs: {($ VSub_Number '$2')} spids: [671] ) ] spids: [669] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:host) op: Equal rhs: {($ VSub_Number '$3')} spids: [677] ) ] spids: [675] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:host_hash) op: Equal rhs: {($ VSub_Number '$4')} spids: [683] ) ] spids: [681] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:compiler_path) op: Equal rhs: {($ VSub_Number '$5')} spids: [689] ) ] spids: [687] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:compiler_hash) op: Equal rhs: {($ VSub_Number '$6')} spids: [695] ) ] spids: [693] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:src_dir) op: Equal rhs: {($ VSub_Number '$7')} spids: [701] ) ] spids: [699] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:action) op: Equal rhs: {($ VSub_Number '$8')} spids: [707] ) ] spids: [705] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:times_out) op: Equal rhs: { (DQ ($ VSub_Name '$PWD') (/) ($ VSub_Name '$raw_dir') (/) ($ VSub_Name '$host') (.) ($ VSub_Name '$job_id') (.times.tsv) ) } spids: [714] ) ] spids: [712] ) (Assignment keyword: Assign_Local flags: [-a] pairs: [ (assign_pair lhs: (LhsName name:TIME_PREFIX) op: Equal rhs: { (ArrayLiteralPart words: [ {(time-tsv)} {(--output)} {($ VSub_Name '$times_out')} {(--field)} {(DQ ($ VSub_Name '$host'))} {(--field)} {(DQ ($ VSub_Name '$host_hash'))} {(--field)} {(DQ ($ VSub_Name '$compiler_path'))} {(--field)} {(DQ ($ VSub_Name '$compiler_hash'))} {(--field)} {(DQ ($ VSub_Name '$src_dir'))} {(--field)} {(DQ ($ VSub_Name '$action'))} ] ) } spids: [736] ) ] spids: [732] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:bin_base_dir) op: Equal rhs: {($ VSub_Name '$PWD') (/) ($ VSub_Name '$BASE_DIR') (/bin)} spids: [796] ) ] spids: [794] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:bin_dir) op: Equal rhs: { (DQ ($ VSub_Name '$bin_base_dir') (/) (CommandSubPart command_list: (CommandList children: [(C {(basename)} {($ VSub_Name '$compiler_path')})] ) left_token: <Left_CommandSub '$('> spids: [809 813] ) ) } spids: [805] ) ] spids: [803] ) (C {(mkdir)} {(-p)} {($ VSub_Name '$bin_dir')}) (SimpleCommand words: [{(pushd)} {($ VSub_Name '$src_dir')}] redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[829])] ) (Case to_match: {($ VSub_Name '$action')} arms: [ (case_arm pat_list: [{(configure)}] action: [ (C { (DQ (BracedVarSub token: <VSub_Name TIME_PREFIX> bracket_op: (WholeArray op_id:Lit_At) spids: [855 860] ) ) } {(--)} {(./configure)} ) (C {(make)} {(clean)}) ] spids: [850 851 886 16777215] ) (case_arm pat_list: [{(make)}] action: [ (C { (DQ (BracedVarSub token: <VSub_Name TIME_PREFIX> bracket_op: (WholeArray op_id:Lit_At) spids: [895 900] ) ) } {(--)} {(make)} {(Lit_VarLike 'CC=') ($ VSub_Name '$compiler_path')} ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:target) op:Equal spids:[914])] spids: [912] ) (Case to_match: {($ VSub_Name '$src_dir')} arms: [ (case_arm pat_list: [{(Lit_Other '*') (/bash) (Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:target) op: Equal rhs: {(bash)} spids: [930] ) ] spids: [930] ) ] spids: [924 927 934 16777215] ) (case_arm pat_list: [{(Lit_Other '*') (/dash) (Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:target) op: Equal rhs: {(src/dash)} spids: [943] ) ] spids: [943] ) ] spids: [937 940 947 16777215] ) ] spids: [917 921 950] ) (C {(strip)} {($ VSub_Name '$target')}) (C {(cp)} {(-v)} {($ VSub_Name '$target')} {($ VSub_Name '$bin_dir')}) ] spids: [890 891 968 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:target) op: Equal rhs: {($ VSub_Name '$action')} spids: [978] ) ] spids: [976] ) (C { (DQ (BracedVarSub token: <VSub_Name TIME_PREFIX> bracket_op: (WholeArray op_id:Lit_At) spids: [987 992] ) ) } {(--)} {(make)} {(Lit_VarLike 'CC=') ($ VSub_Name '$compiler_path')} {($ VSub_Name '$target')} ) (C {(cp)} {(-v)} {($ VSub_Name '$target')} {($ VSub_Name '$bin_dir')}) ] spids: [972 973 1015 16777215] ) ] spids: [843 847 1018] ) (SimpleCommand words: [{(popd)}] redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[1024])] ) ] spids: [657] ) spids: [653 656] ) (FuncDef name: oil-tasks body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:provenance) op: Equal rhs: {($ VSub_Number '$1')} spids: [1039] ) ] spids: [1037] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:dir) op: Equal rhs: {(DQ ($ VSub_Name '$TAR_DIR') (/oil-) ($ VSub_Name '$OIL_VERSION'))} spids: [1054] ) ] spids: [1052] ) (Pipeline children: [ (C {(cat)} {($ VSub_Name '$provenance')}) (While cond: [(Sentence child:(C {(read)} {(line)}) terminator:<Op_Semi ';'>)] body: (DoGroup children: [ (C {(echo)} {(DQ ($ VSub_Name '$line'))} {($ VSub_Name '$dir')} {(configure)}) (C {(echo)} {(DQ ($ VSub_Name '$line'))} {($ VSub_Name '$dir')} {(_bin/oil.ovm)}) (C {(echo)} {(DQ ($ VSub_Name '$line'))} {($ VSub_Name '$dir')} {(_bin/oil.ovm-dbg)} ) ] spids: [1080 1120] ) ) ] negated: F ) ] spids: [1034] ) spids: [1030 1033] ) (FuncDef name: other-shell-tasks body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:provenance) op: Equal rhs: {($ VSub_Number '$1')} spids: [1134] ) ] spids: [1132] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:tarball) op: Equal rhs: {(SQ <_release/oil.0.5.alpha1.gz>)} spids: [1149] ) ] spids: [1147] ) (Pipeline children: [ (C {(cat)} {($ VSub_Name '$provenance')}) (While cond: [(Sentence child:(C {(read)} {(line)}) terminator:<Op_Semi ';'>)] body: (DoGroup children: [ (Case to_match: {($ VSub_Name '$line')} arms: [ (case_arm pat_list: [{(Lit_Other '*') (clang) (Lit_Other '*')}] action: [(ControlFlow token:<ControlFlow_Continue continue>)] spids: [1187 1190 1196 16777215] ) ] spids: [1176 1180 1199] ) (ForEach iter_name: dir iter_words: [ { (DQ (BracedVarSub token: <VSub_Name TAR_SUBDIRS> bracket_op: (WholeArray op_id:Lit_At) spids: [1210 1215] ) ) } ] do_arg_iter: F body: (DoGroup children: [ (C {(echo)} {(DQ ($ VSub_Name '$line'))} {($ VSub_Name '$TAR_DIR') (/) ($ VSub_Name '$dir')} {(configure)} ) (C {(echo)} {(DQ ($ VSub_Name '$line'))} {($ VSub_Name '$TAR_DIR') (/) ($ VSub_Name '$dir')} {(make)} ) ] spids: [1219 1248] ) spids: [1208 1217] ) ] spids: [1173 1251] ) ) ] negated: F ) ] spids: [1129] ) spids: [1125 1128] ) (FuncDef name: oil-historical-tasks body: (BraceGroup children:[(C {(echo)})] spids:[1266]) spids: [1262 1265] ) (Assignment keyword: Assign_Readonly pairs: [ (assign_pair lhs: (LhsName name:HEADER) op: Equal rhs: { (SingleQuotedPart left: <Left_DollarSingleQuote "$'"> tokens: [ <Char_Literals status> <Char_OneChar '\\t'> <Char_Literals elapsed_secs> <Char_OneChar '\\t'> <Char_Literals host_name> <Char_OneChar '\\t'> <Char_Literals host_hash> <Char_OneChar '\\t'> <Char_Literals compiler_path> <Char_OneChar '\\t'> <Char_Literals compiler_hash> <Char_OneChar '\\t'> <Char_Literals src_dir> <Char_OneChar '\\t'> <Char_Literals action> ] ) } spids: [1280] ) ] spids: [1278] ) (Assignment keyword: Assign_Readonly pairs: [(assign_pair lhs:(LhsName name:NUM_COLUMNS) op:Equal rhs:{(7)} spids:[1301])] spids: [1299] ) (FuncDef name: measure body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:provenance) op: Equal rhs: {($ VSub_Number '$1')} spids: [1317] ) ] spids: [1315] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:raw_dir) op: Equal rhs: { (BracedVarSub token: <VSub_Number 2> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {($ VSub_Name '$BASE_DIR') (Lit_Slash /) (raw)} ) spids: [1327 1333] ) } spids: [1326] ) ] spids: [1324] ) (C {(extract-oil)}) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:name) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(basename)} {($ VSub_Name '$provenance')})] ) left_token: <Left_CommandSub '$('> spids: [1348 1352] ) } spids: [1347] ) ] spids: [1345] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:prefix) op: Equal rhs: { (BracedVarSub token: <VSub_Name name> suffix_op: (StringUnary op_id: VOp1_Percent arg_word: {(.compiler-provenance.txt)} ) spids: [1358 1362] ) } spids: [1357] ) ] spids: [1355] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:times_out) op: Equal rhs: {(DQ ($ VSub_Name '$raw_dir') (/) ($ VSub_Name '$prefix') (.times.tsv))} spids: [1371] ) ] spids: [1369] ) (C {(mkdir)} {(-p)} (BracedWordTree parts: [ ($ VSub_Name '$BASE_DIR') (/) (BracedAltPart words:[{(raw)} {(stage1)} {(bin)}]) ] ) {($ VSub_Name '$raw_dir')} ) (SimpleCommand words: [{(echo)} {(DQ ($ VSub_Name '$HEADER'))}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {($ VSub_Name '$times_out')} spids: [1417] ) ] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:t1) op: Equal rhs: {($ VSub_Name '$BASE_DIR') (/oil-tasks.txt)} spids: [1425] ) ] spids: [1423] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:t2) op: Equal rhs: {($ VSub_Name '$BASE_DIR') (/other-shell-tasks.txt)} spids: [1432] ) ] spids: [1430] ) (SimpleCommand words: [{(oil-tasks)} {($ VSub_Name '$provenance')}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {($ VSub_Name '$t1')} spids: [1442] ) ] ) (SimpleCommand words: [{(other-shell-tasks)} {($ VSub_Name '$provenance')}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {($ VSub_Name '$t2')} spids: [1451] ) ] ) (AndOr ops: [Op_DPipe] children: [ (TimeBlock pipeline: (Pipeline children: [ (C {(cat)} {($ VSub_Name '$t1')} {($ VSub_Name '$t2')}) (C {(xargs)} {(-n)} {($ VSub_Name '$NUM_COLUMNS')} {(--)} {($ VSub_Number '$0')} {(build-task)} {($ VSub_Name '$raw_dir')} ) ] negated: F ) ) (C {(die)} {(DQ ('*** Some tasks failed. ***'))}) ] ) (C {(measure-sizes)} {($ VSub_Name '$raw_dir') (/) ($ VSub_Name '$prefix')}) (C {(cp)} {(-v)} {($ VSub_Name '$provenance')} {($ VSub_Name '$raw_dir')}) ] spids: [1312] ) spids: [1308 1311] ) (FuncDef name: stage1 body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:raw_dir) op: Equal rhs: { (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {($ VSub_Name '$BASE_DIR') (Lit_Slash /) (raw)} ) spids: [1536 1542] ) } spids: [1535] ) ] spids: [1533] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:out) op: Equal rhs: {($ VSub_Name '$BASE_DIR') (/stage1)} spids: [1548] ) ] spids: [1546] ) (C {(mkdir)} {(-p)} {($ VSub_Name '$out')}) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:x) op:Equal spids:[1563])] spids: [1561] ) (Assignment keyword: Assign_Local flags: [-a] pairs: [ (assign_pair lhs:(LhsName name:a) op:Equal spids:[1570]) (assign_pair lhs:(LhsName name:b) op:Equal spids:[1572]) ] spids: [1566] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:x) op: Equal rhs: {($ VSub_Name '$out') (/times.tsv)} spids: [1580] ) ] spids: [1580] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:a) op: Equal rhs: { (ArrayLiteralPart words: [{($ VSub_Name '$raw_dir') (/flanders.) (Lit_Other '*') (.times.tsv)}] ) } spids: [1585] ) ] spids: [1585] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:b) op: Equal rhs: { (ArrayLiteralPart words: [{($ VSub_Name '$raw_dir') (/lisa.) (Lit_Other '*') (.times.tsv)}] ) } spids: [1594] ) ] spids: [1594] ) (SimpleCommand words: [ {(tsv-concat)} { (BracedVarSub token: <VSub_Name a> bracket_op: (ArrayIndex expr: (ArithUnary op_id:Node_UnaryMinus child:(ArithWord w:{(Lit_Digits 1)})) ) spids: [1605 1611] ) } { (BracedVarSub token: <VSub_Name b> bracket_op: (ArrayIndex expr: (ArithUnary op_id:Node_UnaryMinus child:(ArithWord w:{(Lit_Digits 1)})) ) spids: [1613 1619] ) } ] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {($ VSub_Name '$x')} spids: [1621] ) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:x) op: Equal rhs: {($ VSub_Name '$out') (/bytecode-size.tsv)} spids: [1627] ) ] spids: [1627] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:a) op: Equal rhs: { (ArrayLiteralPart words: [ {($ VSub_Name '$raw_dir') (/flanders.) (Lit_Other '*') (.bytecode-size.tsv)} ] ) } spids: [1632] ) ] spids: [1632] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:b) op: Equal rhs: { (ArrayLiteralPart words: [ {($ VSub_Name '$raw_dir') (/lisa.) (Lit_Other '*') (.bytecode-size.tsv)} ] ) } spids: [1641] ) ] spids: [1641] ) (SimpleCommand words: [ {(tsv-concat)} { (BracedVarSub token: <VSub_Name a> bracket_op: (ArrayIndex expr: (ArithUnary op_id:Node_UnaryMinus child:(ArithWord w:{(Lit_Digits 1)})) ) spids: [1652 1658] ) } { (BracedVarSub token: <VSub_Name b> bracket_op: (ArrayIndex expr: (ArithUnary op_id:Node_UnaryMinus child:(ArithWord w:{(Lit_Digits 1)})) ) spids: [1660 1666] ) } ] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {($ VSub_Name '$x')} spids: [1668] ) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:x) op: Equal rhs: {($ VSub_Name '$out') (/bin-sizes.tsv)} spids: [1674] ) ] spids: [1674] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:a) op: Equal rhs: { (ArrayLiteralPart words: [ {($ VSub_Name '$raw_dir') (/flanders.) (Lit_Other '*') (.bin-sizes.tsv)} ] ) } spids: [1679] ) ] spids: [1679] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:b) op: Equal rhs: { (ArrayLiteralPart words: [{($ VSub_Name '$raw_dir') (/lisa.) (Lit_Other '*') (.bin-sizes.tsv)}] ) } spids: [1688] ) ] spids: [1688] ) (SimpleCommand words: [ {(tsv-concat)} { (BracedVarSub token: <VSub_Name a> bracket_op: (ArrayIndex expr: (ArithUnary op_id:Node_UnaryMinus child:(ArithWord w:{(Lit_Digits 1)})) ) spids: [1699 1705] ) } { (BracedVarSub token: <VSub_Name b> bracket_op: (ArrayIndex expr: (ArithUnary op_id:Node_UnaryMinus child:(ArithWord w:{(Lit_Digits 1)})) ) spids: [1707 1713] ) } ] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {($ VSub_Name '$x')} spids: [1715] ) ] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:raw_data_tsv) op: Equal rhs: {($ VSub_Name '$out') (/raw-data.tsv)} spids: [1727] ) ] spids: [1725] ) (BraceGroup children: [ (C {(echo)} {(SQ <path>)}) (C {(echo)} { (BracedVarSub token: <VSub_Name a> bracket_op: (ArrayIndex expr: (ArithUnary op_id:Node_UnaryMinus child:(ArithWord w:{(Lit_Digits 1)})) ) spids: [1743 1749] ) } ) (C {(echo)} { (BracedVarSub token: <VSub_Name b> bracket_op: (ArrayIndex expr: (ArithUnary op_id:Node_UnaryMinus child:(ArithWord w:{(Lit_Digits 1)})) ) spids: [1754 1760] ) } ) ] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {($ VSub_Name '$raw_data_tsv')} spids: [1765] ) ] spids: [1732] ) (C {(head)} {($ VSub_Name '$out') (/) (Lit_Other '*')}) (C {(wc)} {(-l)} {($ VSub_Name '$out') (/) (Lit_Other '*')}) ] spids: [1530] ) spids: [1526 1529] ) (FuncDef name: print-report body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:in_dir) op: Equal rhs: {($ VSub_Number '$1')} spids: [1798] ) ] spids: [1796] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:base_url) op: Equal rhs: {(SQ <../../web>)} spids: [1804] ) ] spids: [1802] ) (SimpleCommand words: [{(cat)}] redirects: [ (HereDoc op_id: Redir_DLess fd: 16777215 body: { (DQ ('<!DOCTYPE html>\n') ('<html>\n') (' <head>\n') (' <title>OVM Build Performance</title>\n') (' <script type=') (Right_DoubleQuote '"') (text/javascript) (Right_DoubleQuote '"') (' src=') (Right_DoubleQuote '"') ($ VSub_Name '$base_url') (/table/table-sort.js) (Right_DoubleQuote '"') ('></script>\n') (' <link rel=') (Right_DoubleQuote '"') (stylesheet) (Right_DoubleQuote '"') (' type=') (Right_DoubleQuote '"') (text/css) (Right_DoubleQuote '"') (' href=') (Right_DoubleQuote '"') ($ VSub_Name '$base_url') (/table/table-sort.css) (Right_DoubleQuote '"') (' />\n') (' <link rel=') (Right_DoubleQuote '"') (stylesheet) (Right_DoubleQuote '"') (' type=') (Right_DoubleQuote '"') (text/css) (Right_DoubleQuote '"') (' href=') (Right_DoubleQuote '"') ($ VSub_Name '$base_url') (/benchmarks.css) (Right_DoubleQuote '"') (' />\n') ('\n') (' </head>\n') (' <body>\n') (' <p id=') (Right_DoubleQuote '"') (home-link) (Right_DoubleQuote '"') ('>\n') (' <a href=') (Right_DoubleQuote '"') (/) (Right_DoubleQuote '"') ('>oilshell.org</a>\n') (' </p>\n') (' <h2>OVM Build Performance</h2>\n') ('\n') (' <h3>Elapsed Time by Host and Compiler</h3>\n') ('\n') (' <p>We measure the build speed of <code>bash</code> and <code>dash</code>\n') (' for comparison.\n') (' </p>\n') ) } do_expansion: True here_end: EOF was_filled: T spids: [1813] ) ] ) (C {(tsv2html)} {(--css-class-pattern)} {(SQ <'special ^oil'>)} {($ VSub_Name '$in_dir') (/times.tsv)} ) (SimpleCommand words: [{(cat)}] redirects: [ (HereDoc op_id: Redir_DLess fd: 16777215 body: { (DQ (' <h3>Binary Size</h3>\n') ('\n') (' <p>The oil binary has two portions:\n') (' <ol>\n') (' <li>Architecture-independent <code>bytecode.zip</code></li>\n') (' <li>Architecture- and compiler- dependent native code\n') (' (<code>_build/oil/ovm*</code>)\n') (' </li>\n') (' </ol>\n') (' </p>\n') ('\n') ) } do_expansion: True here_end: EOF was_filled: T spids: [1896] ) ] ) (C {(tsv2html)} {(--css-class-pattern)} {(SQ <'special /gcc/oil.ovm$'>)} {($ VSub_Name '$in_dir') (/sizes.tsv)} ) (SimpleCommand words: [{(cat)}] redirects: [ (HereDoc op_id: Redir_DLess fd: 16777215 body: {(DQ ('\n') (' <h3>Host and Compiler Details</h3>\n'))} do_expansion: True here_end: EOF was_filled: T spids: [1931] ) ] ) (C {(tsv2html)} {($ VSub_Name '$in_dir') (/hosts.tsv)}) (C {(tsv2html)} {($ VSub_Name '$in_dir') (/compilers.tsv)}) (SimpleCommand words: [{(cat)}] redirects: [ (HereDoc op_id: Redir_DLess fd: 16777215 body: {(DQ (' </body>\n') ('</html>\n'))} do_expansion: True here_end: EOF was_filled: T spids: [1953] ) ] ) ] spids: [1793] ) spids: [1789 1792] ) (C {(DQ ($ VSub_At '$@'))}) ] )