js/src/devtools/rootAnalysis/README.txt

Sat, 03 Jan 2015 20:18:00 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Sat, 03 Jan 2015 20:18:00 +0100
branch
TOR_BUG_3246
changeset 7
129ffea94266
permissions
-rw-r--r--

Conditionally enable double key logic according to:
private browsing mode or privacy.thirdparty.isolate preference and
implement in GetCookieStringCommon and FindCookie where it counts...
With some reservations of how to convince FindCookie users to test
condition and pass a nullptr when disabling double key logic.

     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