Bug 877584: Route JS holding through the cycle collection runtime so it can do different things on different threads. r=mccr8
Bug 882162: Part 1 - Create a mozilla::CycleCollectedJSRuntime class. r=mccr8,bholley
Bug 882162: Part 2 - Begin to push mJSHolders down into mozilla::CycleCollectedJSRuntime. r=mccr8
Bug 882162: Part 3 - Replace GetJSRuntime() with just Runtime(). r=mccr8
Bug 882162: Part 4 - Push tracing of global objects down into mozilla::CycleCollectedJSRuntime. r=mccr8
Bug 882162: Part 5 - Move most of nsCycleCollectionJSRuntime's implementation into mozilla::CycleCollectedJSRuntime. r=mccr8
Bug 882162: Part 6 - Move the runtime and zone CC participants into mozilla::CycleCollectedJSRuntime. r=mccr8
Bug 882162: Part 7 - Move tracing of gray roots into mozilla::CycleCollectedJSRuntime. r=mccr8
Bug 882162: Part 8 - Move the rest of nsCycleCollectionJSRuntime's implementation into mozilla::CycleCollectedJSRuntime. r=mccr8
Bug 882162: Part 9 - Kill nsCycleCollectionJSRuntime. r=mccr8
Bug 882162: Part 10 - Add a hook for tracing black JS and update the big comment to more accurately describe how this works. r=mccr8
Bug 882162: Part 11 - Push the final uses of mJSHolders down into mozilla::CycleCollectedJSRuntime and make it private. r=mccr8
Bug 877584: Followup to avoid some crashes during shutdown. r=mccr8