Coverage and Profile Information Gathered from -D
The disassembly information provided by SpiderMonkey's -D switch is much richer than the plain coverage data I gathered with my trace hook. However, the disassembly is printed straight to stdout which makes it more difficult to separate from test output and harder to parse. So, I wrote a small patch which makes -D take the filename to write the disassembly to instead of stdout.
I need to get my situation with the mozilla-central repository figured out so I can create a branch and commit. In the meantime, there's the small patch.
Then, I rewrote my coverage_parser.py script in dom.js to parse the -D output and was able to generate nice coverage files, including displaying the number of total bytecodes executed on each line, and nice profile files, sorted from the lines which executed the most bytecodes down to those that executed the least.
With the test suites we scraped together from various places, we have almost 50% coverage of dom.js right off the bat.