(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: [264 281] ) spids: [257 262] ) ) ] spids: [247] ) spids: [243 246] ) (FuncDef name: extract-oil body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:target) op: Equal rhs: {(_release/oil.tar)} spids: [295] ) ] spids: [293] ) (C {(rm)} {(-f)} {(-v)} {($ VSub_Name '$target')}) (C {(make)} {($ VSub_Name '$target')}) (C {(tar)} {(-x)} {(--directory)} {($ VSub_Name '$TAR_DIR')} {(--file)} {($ VSub_Name '$target')} ) ] spids: [290] ) spids: [286 289] ) (FuncDef name: extract body: (BraceGroup children:[(C {(extract-oil)}) (C {(extract-other)})] spids:[332]) spids: [328 331] ) (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: [391 393] ) } spids: [390] ) ] spids: [388] ) (C {(find)} {(DQ ($ VSub_At '$@'))} {(-maxdepth)} {(0)} {(-printf)} { (DQ ($ VSub_Name '$host') (Lit_Other '\\') ('t%s') (Lit_Other '\\') ('t%p') (Lit_Other '\\') (n) ) } ) ] spids: [370] ) spids: [366 369] ) (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: [437 445] ) } spids: [436] ) ] spids: [434] ) (SimpleCommand words: [ {(sizes-tsv)} {($ VSub_Name '$TAR_DIR') (/oil-) ($ VSub_Name '$OIL_VERSION') (/_build/oil/bytecode.zip) } ] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(${ VSub_Name prefix) (.bytecode-size.tsv)} spids: [467] ) ] ) (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: [486] ) ] ) (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: [506] ) ] ) (C {(log)} {(DQ ('Wrote ') (${ VSub_Name prefix) ('.*.tsv'))}) ] spids: [431] ) spids: [427 430] ) (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: [560] ) ] spids: [558] ) (Pipeline children: [(C {(unzip)} {(-l)} {($ VSub_Name '$zip')}) (C {(tail)} {(-n)} {(1)})] negated: F ) (C {(ls)} {(-l)} {($ VSub_Name '$zip')}) ] spids: [555] ) spids: [551 554] ) (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:[614])] ) ] spids: [606] ) spids: [602 605] ) (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: [665] ) ] spids: [663] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:job_id) op: Equal rhs: {($ VSub_Number '$2')} spids: [674] ) ] spids: [672] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:host) op: Equal rhs: {($ VSub_Number '$3')} spids: [680] ) ] spids: [678] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:host_hash) op: Equal rhs: {($ VSub_Number '$4')} spids: [686] ) ] spids: [684] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:compiler_path) op: Equal rhs: {($ VSub_Number '$5')} spids: [692] ) ] spids: [690] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:compiler_hash) op: Equal rhs: {($ VSub_Number '$6')} spids: [698] ) ] spids: [696] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:src_dir) op: Equal rhs: {($ VSub_Number '$7')} spids: [704] ) ] spids: [702] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:action) op: Equal rhs: {($ VSub_Number '$8')} spids: [710] ) ] spids: [708] ) (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: [717] ) ] spids: [715] ) (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: [739] ) ] spids: [735] ) (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: [799] ) ] spids: [797] ) (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: [812 816] ) ) } spids: [808] ) ] spids: [806] ) (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:[832])] ) (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: [858 863] ) ) } {(--)} {(./configure)} ) (C {(make)} {(clean)}) ] spids: [853 854 889 16777215] ) (case_arm pat_list: [{(make)}] action: [ (C { (DQ (BracedVarSub token: <VSub_Name TIME_PREFIX> bracket_op: (WholeArray op_id:Lit_At) spids: [898 903] ) ) } {(--)} {(make)} {(Lit_VarLike 'CC=') ($ VSub_Name '$compiler_path')} ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:target) op:Equal spids:[917])] spids: [915] ) (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: [933] ) ] spids: [933] ) ] spids: [927 930 937 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: [946] ) ] spids: [946] ) ] spids: [940 943 950 16777215] ) ] spids: [920 924 953] ) (C {(strip)} {($ VSub_Name '$target')}) (C {(cp)} {(-v)} {($ VSub_Name '$target')} {($ VSub_Name '$bin_dir')}) ] spids: [893 894 971 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: [981] ) ] spids: [979] ) (C { (DQ (BracedVarSub token: <VSub_Name TIME_PREFIX> bracket_op: (WholeArray op_id:Lit_At) spids: [990 995] ) ) } {(--)} {(make)} {(Lit_VarLike 'CC=') ($ VSub_Name '$compiler_path')} {($ VSub_Name '$target')} ) (C {(cp)} {(-v)} {($ VSub_Name '$target')} {($ VSub_Name '$bin_dir')}) ] spids: [975 976 1018 16777215] ) ] spids: [846 850 1021] ) (SimpleCommand words: [{(popd)}] redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[1027])] ) ] spids: [660] ) spids: [656 659] ) (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: [1042] ) ] spids: [1040] ) (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: [1057] ) ] spids: [1055] ) (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: [1083 1123] ) ) ] negated: F ) ] spids: [1037] ) spids: [1033 1036] ) (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: [1137] ) ] spids: [1135] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:tarball) op: Equal rhs: {(SQ <_release/oil.0.5.alpha1.gz>)} spids: [1152] ) ] spids: [1150] ) (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: [1190 1193 1199 16777215] ) ] spids: [1179 1183 1202] ) (ForEach iter_name: dir iter_words: [ { (DQ (BracedVarSub token: <VSub_Name TAR_SUBDIRS> bracket_op: (WholeArray op_id:Lit_At) spids: [1213 1218] ) ) } ] 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: [1222 1251] ) spids: [1211 1220] ) ] spids: [1176 1254] ) ) ] negated: F ) ] spids: [1132] ) spids: [1128 1131] ) (FuncDef name: oil-historical-tasks body: (BraceGroup children:[(C {(echo)})] spids:[1269]) spids: [1265 1268] ) (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: [1283] ) ] spids: [1281] ) (Assignment keyword: Assign_Readonly pairs: [(assign_pair lhs:(LhsName name:NUM_COLUMNS) op:Equal rhs:{(7)} spids:[1304])] spids: [1302] ) (FuncDef name: measure body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:provenance) op: Equal rhs: {($ VSub_Number '$1')} spids: [1320] ) ] spids: [1318] ) (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: [1330 1336] ) } spids: [1329] ) ] spids: [1327] ) (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: [1352 1356] ) } spids: [1351] ) ] spids: [1349] ) (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: [1362 1366] ) } spids: [1361] ) ] spids: [1359] ) (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: [1375] ) ] spids: [1373] ) (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: [1421] ) ] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:t1) op: Equal rhs: {($ VSub_Name '$BASE_DIR') (/oil-tasks.txt)} spids: [1429] ) ] spids: [1427] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:t2) op: Equal rhs: {($ VSub_Name '$BASE_DIR') (/other-shell-tasks.txt)} spids: [1436] ) ] spids: [1434] ) (SimpleCommand words: [{(oil-tasks)} {($ VSub_Name '$provenance')}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {($ VSub_Name '$t1')} spids: [1446] ) ] ) (SimpleCommand words: [{(other-shell-tasks)} {($ VSub_Name '$provenance')}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {($ VSub_Name '$t2')} spids: [1455] ) ] ) (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: [1315] ) spids: [1311 1314] ) (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: [1540 1546] ) } spids: [1539] ) ] spids: [1537] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:out) op: Equal rhs: {($ VSub_Name '$BASE_DIR') (/stage1)} spids: [1552] ) ] spids: [1550] ) (C {(mkdir)} {(-p)} {($ VSub_Name '$out')}) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:x) op:Equal spids:[1567])] spids: [1565] ) (Assignment keyword: Assign_Local flags: [-a] pairs: [ (assign_pair lhs:(LhsName name:a) op:Equal spids:[1574]) (assign_pair lhs:(LhsName name:b) op:Equal spids:[1576]) ] spids: [1570] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:x) op: Equal rhs: {($ VSub_Name '$out') (/times.tsv)} spids: [1584] ) ] spids: [1584] ) (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: [1589] ) ] spids: [1589] ) (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: [1598] ) ] spids: [1598] ) (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: [1609 1615] ) } { (BracedVarSub token: <VSub_Name b> bracket_op: (ArrayIndex expr: (ArithUnary op_id:Node_UnaryMinus child:(ArithWord w:{(Lit_Digits 1)})) ) spids: [1617 1623] ) } ] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {($ VSub_Name '$x')} spids: [1625] ) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:x) op: Equal rhs: {($ VSub_Name '$out') (/bytecode-size.tsv)} spids: [1631] ) ] spids: [1631] ) (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: [1636] ) ] spids: [1636] ) (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: [1645] ) ] spids: [1645] ) (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: [1656 1662] ) } { (BracedVarSub token: <VSub_Name b> bracket_op: (ArrayIndex expr: (ArithUnary op_id:Node_UnaryMinus child:(ArithWord w:{(Lit_Digits 1)})) ) spids: [1664 1670] ) } ] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {($ VSub_Name '$x')} spids: [1672] ) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:x) op: Equal rhs: {($ VSub_Name '$out') (/bin-sizes.tsv)} spids: [1678] ) ] spids: [1678] ) (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: [1683] ) ] spids: [1683] ) (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: [1692] ) ] spids: [1692] ) (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: [1703 1709] ) } { (BracedVarSub token: <VSub_Name b> bracket_op: (ArrayIndex expr: (ArithUnary op_id:Node_UnaryMinus child:(ArithWord w:{(Lit_Digits 1)})) ) spids: [1711 1717] ) } ] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {($ VSub_Name '$x')} spids: [1719] ) ] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:raw_data_tsv) op: Equal rhs: {($ VSub_Name '$out') (/raw-data.tsv)} spids: [1731] ) ] spids: [1729] ) (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: [1747 1753] ) } ) (C {(echo)} { (BracedVarSub token: <VSub_Name b> bracket_op: (ArrayIndex expr: (ArithUnary op_id:Node_UnaryMinus child:(ArithWord w:{(Lit_Digits 1)})) ) spids: [1758 1764] ) } ) ] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {($ VSub_Name '$raw_data_tsv')} spids: [1769] ) ] spids: [1736] ) (C {(head)} {($ VSub_Name '$out') (/) (Lit_Other '*')}) (C {(wc)} {(-l)} {($ VSub_Name '$out') (/) (Lit_Other '*')}) ] spids: [1534] ) spids: [1530 1533] ) (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: [1802] ) ] spids: [1800] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:base_url) op: Equal rhs: {(SQ <../../web>)} spids: [1808] ) ] spids: [1806] ) (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: [1817] ) ] ) (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: [1900] ) ] ) (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: [1935] ) ] ) (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: [1957] ) ] ) ] spids: [1797] ) spids: [1793 1796] ) (C {(DQ ($ VSub_At '$@'))}) ] )