Commit Graph

43 Commits

Author SHA1 Message Date
Brian Hackett
bb98c9b7e6 Bug 964059 - Share atoms compartment/zone between multiple runtimes, r=billm,bent. 2014-02-19 09:02:13 -07:00
Andrew McCreight
f9daafed1e Bug 956080 - Rename BeginCycleCollection to TraverseRoots. r=smaug 2014-01-07 17:33:47 -08:00
Bobby Holley
6fe30b5795 Bug 911303 - Remove manual Destroy() routine from CycleCollectedJSRuntime. r=billm 2013-11-27 10:10:25 -08:00
Andrew McCreight
9c3c29695f Bug 935721, part 5 - Invert the control flow of CycleCollectNow's pre- and post-collection work, add CCResults as a field on the CC. r=smaug
nsJSEnvironment::CycleCollectNow does work before and after a CC runs. With ICC, nsJSEnv won't
know where in the CC when a CC is about to begin or end, so this patch reorganizes that work
into two separate callback hooks.  This requires adding a new struct, CycleCollectorStats, to
hold data nsJSEnv needs between the two calls.

Rather than trying to pass around a pointer to a results structure, this patch just adds
it to the nsCycleCollector struct, and always stores them. The results are passed back
to the end CC callback.
2013-11-20 14:35:16 -08:00
Andrew McCreight
ab63e479c1 Bug 928647 - Remove CycleCollectedRuntime::mObjectToUnlink. r=smaug 2013-10-19 08:59:10 -07:00
Andrew McCreight
23fcdadf9b Bug 915488 - Make CC participant's Root, Unroot and Unlink methods infallible. r=smaug 2013-09-11 18:57:53 -07:00
Ehsan Akhgari
a2c0c65e43 Bug 917885 - Minimize the #includes in xpcom/base; r=bsmedberg 2013-09-19 14:29:31 -04:00
Ehsan Akhgari
9b717619cf Backed out changeset a8d6973e5743 (bug 917885) because I pushed the wrong patch 2013-09-19 14:27:35 -04:00
Ehsan Akhgari
dc575f6de1 Bug 917885 - Minimize the #includes in xpcom/base; r=bsmedberg 2013-09-19 14:12:56 -04:00
Bobby Holley
ac7034ec92 Bug 905926 - Invoke JS_DestroyRuntime before we totally tear down the XPCJSRuntime. r=billm 2013-09-17 09:46:31 -07:00
Dan Gohman
586b9aee99 Bug 910823 - Constify static js::Class/JSClass instances. r=waldo 2013-09-11 05:49:05 -07:00
Andrew McCreight
ea04eab2a4 Bug 909436 - Inline CycleCollectedJSRuntime::OnContext. r=bholley 2013-09-10 08:29:44 -07:00
Kyle Huey
7bf860132d Bug 911258: Part 5 - Use the unified exception handling mechanism on workers. r=bz 2013-09-08 20:29:21 -07:00
Kyle Huey
6a6c67829f Bug 911258: Part 4 - Refactor exception implementations. r=bz 2013-09-08 20:28:50 -07:00
Bobby Holley
4f7b2fec7f Bug 899367 - Stop storing the window proxy on the JSContext. r=mccr8
We need to simultaneously report the new Heap Pointer to the cycle collector,
and remove the old machinery for cycle-collecting the default object via the
JSContext.
2013-09-04 14:06:56 -07:00
Bobby Holley
b9a315924b Bug 899367 - Explicitly traverse outer windows, rather than doing it via JSContext iteration. r=mccr8
Note that this machinery will go away in further patches. But we want to be
deliberate about each of these steps.
2013-09-04 14:06:54 -07:00
Bobby Holley
be1dd5ebee Bug 899367 - Explicitly trace outer windows, rather than doing it via JSContext iteration. r=mccr8 2013-09-04 14:06:54 -07:00
Bobby Holley
59b924c116 Bug 899367 - Only use JSOPTION_UNROOTED_GLOBAL for DOM JSContexts. r=mccr8
We don't cycle collect any other kind, so there's no difference between marking
them gray and letting the JS engine mark them black. This also gets rid of that
nasty code which reset the flag, which billm theorizes has to do with faulty
logic in ContextHolder when creating ephemeral sandbox cxes. The assertion in
this patch should catch us if anything goes wrong.
2013-09-04 14:06:54 -07:00
Olli Pettay
83abfe1558 Bug 910797, make Event.isTrusted to work in workers, r=khuey 2013-08-30 12:47:19 +03:00
Nicholas Nethercote
4b89de8370 Bug 909178 (part 2) - Make jsclass.h not depend on jsapi.h, and rename it js/Class.h. r=jwalden.
--HG--
rename : js/src/jsclass.h => js/public/Class.h
extra : rebase_source : 31ecd4074181c234f7f71eef04a10ae371c35eaa
2013-08-21 22:26:57 -07:00
Nicholas Nethercote
b89a8ac1c0 Bug 905017 (part 1) - Minimize inclusions of JS engine headers in .h and .idl files. r=billm.
--HG--
extra : rebase_source : 984c61ab12f46be0509b1ce0d458d9a6e5841c64
2013-08-17 15:50:18 -07:00
Andrew McCreight
20aa3460cc Bug 903524 - Rename TestJSHolder to IsJSHolder. r=smaug 2013-08-15 10:29:02 -07:00
Kyle Huey
8ef412bec4 Bug 901630: Remove support for the cc thread. r=mccr8 2013-08-13 10:45:32 -07:00
Nicholas Nethercote
fa931e84a6 Bug 898263 (part 1) - Slim down jsprvtd.h. r=jorendorff.
--HG--
extra : rebase_source : 7a926428c59e388fc08148bf60f6dbc7bfe71271
2013-07-25 21:23:14 -07:00
Nicholas Nethercote
849635b8f1 Bug 898914 (part 1) - Remove JSBool.
--HG--
extra : rebase_source : 2d202e0e5005a7f54724b1540481c15cde3ad52e
2013-08-08 15:53:04 -07:00
Kyle Huey
c9d1557bdb Bug 845545: Part 4 - Create a worker implementation of CycleCollectedJSRuntime. r=mccr8,bent 2013-08-03 16:55:40 -07:00
Kyle Huey
46d249128b Bug 845545: Part 3 - Give the CycleCollectedJSRuntime more control over
SnowWhite. r=smaug
2013-08-03 16:55:39 -07:00
Kyle Huey
147c3dee65 Bug 845545: Part 2 - Refactor context creation callbacks. r=bholley,mccr8 2013-08-03 16:55:39 -07:00
Kyle Huey
b09945aa3b Bug 845545: Part 1 - Fix heap dumping to work off the main thread. r=mccr8 2013-08-03 16:55:39 -07:00
Mike Hommey
ca80cd82ad Bug 881323 - Re-implement CycleCollectorParticipant with actual vtables, with constexpr to avoid static initializers. r=mccr8 2013-08-02 10:29:05 +09:00
Olli Pettay
6767d0a1a8 bug 789919, (snow-white) make addref/release of CCable objects faster by removing indirect refcnt increase/decrease, r=mccr8, test changes r=ehsan
--HG--
extra : rebase_source : 2a3b22425c14d6daedc91d62a652c34431acd2fb
2013-07-09 13:30:58 -04:00
Kyle Huey
afae5b1108 Bug 885866: Separate deferred finalization from XPConnect so we can use it off the main thread. r=mccr8, peterv, bsmedberg, jorendorff 2013-07-09 07:28:15 -07:00
Catalin Iacob
83b78343dc Bug 798914 (part 5) - Use newly introduced mozilla::MallocSizeOf instead of nsMallocSizeOfFun. r=njn.
--HG--
extra : rebase_source : fc472490dd978d165f02f77ed37f07aed6e5bb61
2013-06-23 14:03:39 +02:00
Kyle Huey
c696ced296 Bug 882893: Move observer notifications out of the cycle collector and into the runtime. r=smaug 2013-06-19 14:06:50 -07:00
Kyle Huey
48d0d710c8 Bug 882162: Part 11 - Push the final uses of mJSHolders down into mozilla::CycleCollectedJSRuntime and make it private. r=mccr8 2013-06-18 12:02:16 -07:00
Kyle Huey
b2eb672ede 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 2013-06-18 12:02:16 -07:00
Kyle Huey
67e8082658 Bug 882162: Part 8 - Move the rest of nsCycleCollectionJSRuntime's implementation into mozilla::CycleCollectedJSRuntime. r=mccr8 2013-06-18 12:02:16 -07:00
Kyle Huey
9863cf7d37 Bug 882162: Part 7 - Move tracing of gray roots into mozilla::CycleCollectedJSRuntime. r=mccr8 2013-06-18 12:02:15 -07:00
Kyle Huey
24678967c5 Bug 882162: Part 6 - Move the runtime and zone CC participants into mozilla::CycleCollectedJSRuntime. r=mccr8 2013-06-18 12:02:15 -07:00
Kyle Huey
9ca4ebe0b0 Bug 882162: Part 5 - Move most of nsCycleCollectionJSRuntime's implementation into mozilla::CycleCollectedJSRuntime. r=mccr8 2013-06-18 12:02:15 -07:00
Kyle Huey
3df573da7b Bug 882162: Part 4 - Push tracing of global objects down into mozilla::CycleCollectedJSRuntime. r=mccr8 2013-06-18 12:02:15 -07:00
Kyle Huey
c5d2a3de07 Bug 882162: Part 2 - Begin to push mJSHolders down into mozilla::CycleCollectedJSRuntime. r=mccr8 2013-06-18 12:02:14 -07:00
Kyle Huey
ab9a17c350 Bug 882162: Part 1 - Create a mozilla::CycleCollectedJSRuntime class. r=mccr8,bholley 2013-06-18 12:02:07 -07:00