js/src/devtools/rootAnalysis/README.txt

Thu, 15 Jan 2015 15:59:08 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 15 Jan 2015 15:59:08 +0100
branch
TOR_BUG_9701
changeset 10
ac0c01689b40
permissions
-rw-r--r--

Implement a real Private Browsing Mode condition by changing the API/ABI;
This solves Tor bug #9701, complying with disk avoidance documented in
https://www.torproject.org/projects/torbrowser/design/#disk-avoidance.

     1 This directory contains scripts and a makefile for running Brian Hackett's
     2 static GC rooting analysis on a JS source directory.
     4 To use it:
     6 1. Download and compile sixgill. Make sure the gcc plugin is enabled. (The
     7    configure output will tell you.)
     9   - [sfink] I needed a couple of patches to get it work on Fedora 16/17/18.
    10     Ask me if you need them.
    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.
    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.)
    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:
    26    - JSOBJDIR: if you are analyzing a different source tree, set this to the
    27      objdir of the tree you want to analyze.
    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.
    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.
    39 The results will be in rootingHazards.txt

mercurial