js/src/devtools/rootAnalysis/README.txt

branch
TOR_BUG_3246
changeset 7
129ffea94266
equal deleted inserted replaced
-1:000000000000 0:56c0350dd3ab
1 This directory contains scripts and a makefile for running Brian Hackett's
2 static GC rooting analysis on a JS source directory.
3
4 To use it:
5
6 1. Download and compile sixgill. Make sure the gcc plugin is enabled. (The
7 configure output will tell you.)
8
9 - [sfink] I needed a couple of patches to get it work on Fedora 16/17/18.
10 Ask me if you need them.
11
12 2. Compile an optimized JS shell that includes the patch at
13 <http://people.mozilla.org/~sfink/data/bug-835552-cwd-snarf>. This does not
14 need to be in the same source tree as you are running these scripts from.
15 Remember the full path to the resulting JS binary; we'll call it $JS_SHELL
16 below.
17
18 3. |make clean| in the objdir of the JS source tree that you're going to be
19 analyzing. (These analysis scripts will default to the tree they are within,
20 but you can point them at another tree.)
21
22 4. in $objdir/js/src/devtools/analysis, |make JS=$JS_SHELL
23 SIXGILL=.../path/to/sixgill...|. You may need one or more of the following
24 additional settings in addition to the |JS| already given:
25
26 - JSOBJDIR: if you are analyzing a different source tree, set this to the
27 objdir of the tree you want to analyze.
28
29 - ANALYSIS_SCRIPT_DIR: by default, the *.js files within the directory
30 containing this README will be used, but you can point to a different
31 directory full. At the time of this writing, there are some changes not in
32 bhackett's git repo that are necessary, and you'll also need the
33 gen-hazards.sh shell script.
34
35 - JOBS: set this to the number of parallel jobs you'd like to run the final
36 analysis pass with. This defaults to 6, somewhat randomly, which gave me a
37 large speedup even on a machine with only 2 cores.
38
39 The results will be in rootingHazards.txt

mercurial