The root analysis builds, marked with SM(r), are now live and unhidden
on mozilla-inbound. That means the sheriffs will back changes out if
they break.

The builds will only be triggered for pushes that touch js/src.

You can run them on the try server by doing any push that gets a
linux64-debug build (and touching js/src).

To run locally, you need to do a build with:

  --enable-debug
  --disable-threadsafe
  --enable-root-analysis

Sadly, some failures may also require

  --enable-optimize

because code motion can expose hazards. Then, when you have such a build
in your hands (you can check most of this with the shell's
getBuildConfiguration(); I favor
print(JSON.stringify(getBuildConfiguration(),0,4)) ), set the
environment variable JS_GC_ZEAL=6 and enjoy a fairly substantial
slowdown in your tests.

On a more depressing note, the very first unhidden push hit what I'm
guessing is an intermittent orange (see bug 846590), which I'm probably
going to run out of time to look at tonight. It's a range check, which
I've seen a couple of recently. They've been false positives, but can be
nasty to dig into because they are dependent on the exact addresses
returned by malloc() and often disappear when running under gdb. They're
"fixed" by adding SkipRoots.

The main documentation is still in gc/Root.h, with the caveat that we're
not going to be using Unrooted any more. Ping me, terrence, and/or billm
with questions.

[music to "Brave New World" fading away]
_______________________________________________
dev-tech-js-engine-internals mailing list
dev-tech-js-engine-internals@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-tech-js-engine-internals

Reply via email to