I finished the JavaScript to JavaScript compiler and added an option to dynamically log the location of each function that is called, which can be useful for debugging. Below is a transcript of a sample use to run Tachyon.
Marc
% time parser/js2js -js -debug utility/debug.js utility/system.js utility/iterators.js utility/graph.js utility/arrays.js utility/hashmap.js utility/linkedlist.js utility/strings.js utility/modules.js utility/misc.js utility/xml.js utility/html.js parser/misc.js parser/scanner.js parser/parser.js parser/pp.js parser/ast-passes.js platform/ffi.js platform/memory.js ir/static.js ir/instructions.js ir/iir.js ir/cfg.js ir/functions.js ir/ir.js ir/optpatterns.js ir/constprop.js ir/commelim.js ir/inlining.js ir/lowering.js frontend.js runtime/objlayout.js runtime/context.js runtime/objects.js codegen/asm.js codegen/asm-x86.js codegen/linearscan.js codegen/backend.js codegen/ir-to-asm-x86.js codegen/regalloc-config-x86.js stdlib/errors.js stdlib/math.js stdlib/arrays.js stdlib/strings.js compiler.js init.js main.js
real 0m1.708s user 0m1.573s sys 0m0.060s % time d8 main.js.js > trace.log
real 0m6.115s user 0m3.847s sys 0m0.476s % tail -25 trace.log "codegen/asm-x86.js"@391.52-391.91: result: 27060 "init.js"@38.1-47.2: "utility/arrays.js"@139.1-154.2: "utility/debug.js"@52.1-56.2: "utility/debug.js"@43.1-49.2: "utility/debug.js"@46.19-46.47: "utility/debug.js"@31.1-37.2: "utility/arrays.js"@169.33-172.2: "utility/arrays.js"@177.31-180.2: "compiler.js"@29.17-33.2: "utility/arrays.js"@161.32-164.2: "utility/arrays.js"@169.33-172.2: "utility/arrays.js"@177.31-180.2: "compiler.js"@29.17-33.2: "utility/arrays.js"@161.32-164.2: "utility/arrays.js"@169.33-172.2: "utility/arrays.js"@177.31-180.2: "compiler.js"@29.17-33.2: "utility/arrays.js"@161.32-164.2: "utility/arrays.js"@169.33-172.2: "utility/arrays.js"@177.31-180.2: "compiler.js"@29.17-33.2: "utility/arrays.js"@161.32-164.2: "utility/arrays.js"@169.33-172.2: