Commit Graph

40 Commits

Author SHA1 Message Date
Andrew McCreight
3eed280708 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
34325ec499 Bug 928647 - Remove CycleCollectedRuntime::mObjectToUnlink. r=smaug 2013-10-19 08:59:10 -07:00
Andrew McCreight
bb3f012209 Bug 915488 - Make CC participant's Root, Unroot and Unlink methods infallible. r=smaug 2013-09-11 18:57:53 -07:00
Ehsan Akhgari
5ab015ba00 Bug 917885 - Minimize the #includes in xpcom/base; r=bsmedberg 2013-09-19 14:29:31 -04:00
Ehsan Akhgari
64c0466192 Backed out changeset a8d6973e5743 (bug 917885) because I pushed the wrong patch 2013-09-19 14:27:35 -04:00
Ehsan Akhgari
bd006a7585 Bug 917885 - Minimize the #includes in xpcom/base; r=bsmedberg 2013-09-19 14:12:56 -04:00
Bobby Holley
c681efb5f2 Bug 905926 - Invoke JS_DestroyRuntime before we totally tear down the XPCJSRuntime. r=billm 2013-09-17 09:46:31 -07:00
Dan Gohman
8b7074b6dc Bug 910823 - Constify static js::Class/JSClass instances. r=waldo 2013-09-11 05:49:05 -07:00
Andrew McCreight
2c81958722 Bug 909436 - Inline CycleCollectedJSRuntime::OnContext. r=bholley 2013-09-10 08:29:44 -07:00
Kyle Huey
27e346e22d Bug 911258: Part 5 - Use the unified exception handling mechanism on workers. r=bz 2013-09-08 20:29:21 -07:00
Kyle Huey
d423a6350e Bug 911258: Part 4 - Refactor exception implementations. r=bz 2013-09-08 20:28:50 -07:00
Bobby Holley
6d001e824e 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
9ed5f11e8d 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
8abcb2d562 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
5cfc3855a5 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
414342daf2 Bug 910797, make Event.isTrusted to work in workers, r=khuey 2013-08-30 12:47:19 +03:00
Nicholas Nethercote
8036ad5d1b 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
42ccf38dcd 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
e64257dd9f Bug 903524 - Rename TestJSHolder to IsJSHolder. r=smaug 2013-08-15 10:29:02 -07:00
Kyle Huey
e9e214aa0e Bug 901630: Remove support for the cc thread. r=mccr8 2013-08-13 10:45:32 -07:00
Nicholas Nethercote
066d47a07a 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
b756f6b258 Bug 898914 (part 1) - Remove JSBool.
--HG--
extra : rebase_source : 2d202e0e5005a7f54724b1540481c15cde3ad52e
2013-08-08 15:53:04 -07:00
Kyle Huey
e30e014637 Bug 845545: Part 4 - Create a worker implementation of CycleCollectedJSRuntime. r=mccr8,bent 2013-08-03 16:55:40 -07:00
Kyle Huey
895f4a30bf Bug 845545: Part 3 - Give the CycleCollectedJSRuntime more control over
SnowWhite. r=smaug
2013-08-03 16:55:39 -07:00
Kyle Huey
0d4beab639 Bug 845545: Part 2 - Refactor context creation callbacks. r=bholley,mccr8 2013-08-03 16:55:39 -07:00
Kyle Huey
582c3a9b87 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
d01b5df996 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
2bf2214fbe 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
49b422d01c 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
4f03e5bb1a 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
9e5b8d4b53 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
ad14119f4e 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
5bc19e1a51 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
3e6a01f7ac 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
7462053a52 Bug 882162: Part 7 - Move tracing of gray roots into mozilla::CycleCollectedJSRuntime. r=mccr8 2013-06-18 12:02:15 -07:00
Kyle Huey
67d1e8d027 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
75e85a76a6 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
be66fb44fe 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
3c2aaa10b0 Bug 882162: Part 2 - Begin to push mJSHolders down into mozilla::CycleCollectedJSRuntime. r=mccr8 2013-06-18 12:02:14 -07:00
Kyle Huey
20a663e7f3 Bug 882162: Part 1 - Create a mozilla::CycleCollectedJSRuntime class. r=mccr8,bholley 2013-06-18 12:02:07 -07:00