Commit Graph

59 Commits

Author SHA1 Message Date
Paolo Amadini
e1e4b620e8 Bug 1013625 - Process Promise resolution runnables outside of main event queue. r=bz,khuey 2014-10-28 12:08:19 +00:00
Andrew McCreight
526df61329 Bug 1087799, part 3 - Do not include any JS things in the list of white nodes. r=smaug
Root() does not actually root JS things, so if some other class's Unlink() method ends
up calling the GC, whiteNodes will end up containing dead pointers. (This is safe right
now because the Unlink and Unroot methods do not do anything to JS things.) It is less
error prone to simply never store those pointers.

Also, add some asserts to enforce that we never call any of the white-object methods
for JS things.
2014-10-24 15:06:56 -07:00
Andrew McCreight
cc506c4751 Bug 727965 - Trigger CC_WAITING GCs based on number of freed JS objects and zones. r=smaug 2014-10-20 10:07:52 -07:00
Birunthan Mohanathas
16471161bb Bug 1046841 - Fix more style violations in previously touched .h files in xpcom/. r=froydnj 2014-08-25 12:17:24 -07:00
Andrew McCreight
44c42eea7a Bug 1037510, part 1 - Add nursery size as a parameter of CycleCollectedJSRuntime. r=khuey 2014-07-29 15:38:14 -07:00
Birunthan Mohanathas
bc0233fe47 Bug 1026535 - Fix mismatched class/struct tags. r=ehsan 2014-06-18 17:57:51 -07:00
Olli Pettay
3fa67f89f1 Bug 1020622 - Trace black windows' (webidl) event listeners, r=mccr8 2014-06-05 02:48:50 +03:00
Brian Hackett
4e0b65ef88 Bug 941805 - Use helper thread pool in all runtimes in a process, r=billm. 2014-05-29 13:06:23 -06:00
Jason Orendorff
0629a4a901 Bug 987995, part 4 - Add new crash reporter annotations for JS out-of-memory conditions. r=mccr8,r=bsmedberg. 2014-05-22 08:18:02 -05:00
Carsten "Tomcat" Book
a6835d5489 Backed out changeset 2f6f548cd175 (bug 987995) for bustage on a CLOSED TREE 2014-05-22 15:57:30 +02:00
Jason Orendorff
4af0ae2ea3 Bug 987995, part 4 - Add new crash reporter annotations. r=mccr8,r=bsmedberg. 2014-05-22 08:18:02 -05:00
Jason Orendorff
6f2b5025bf Bug 987995, part 3 - Move memory pressure callbacks from nsJSEnvironment/XPCJSRuntime to CycleCollectedJSRuntime. r=mccr8. 2014-05-22 08:18:02 -05:00
Birunthan Mohanathas
fb371cca99 Bug 995730 - Fix style violations in xpcom/base/. r=froydnj,continuation 2014-05-13 20:41:38 +03:00
Andrew McCreight
f5a7b92cdc Bug 1005232 - Log number of incremental cycle collector slices. r=smaug 2014-05-06 17:25:26 -07:00
Andrew McCreight
0b5a958dcb Bug 1004017 - Rename CycleCollectedJSRuntime::NeedCollect() and Collect(). r=smaug 2014-05-06 17:25:26 -07:00
Birunthan Mohanathas
8f4f3e6fea Bug 995730 - Change xpcom/base/ to use 2 space indentation
This also removes trailing whitespace in reindented files.
2014-05-05 20:30:39 +03:00
Brian Hackett
2a9fd71c02 Bug 964059 - Share atoms compartment/zone between multiple runtimes, r=billm,bent. 2014-02-19 09:02:13 -07:00
Andrew McCreight
b0d96345f5 Bug 956080 - Rename BeginCycleCollection to TraverseRoots. r=smaug 2014-01-07 17:33:47 -08:00
Bobby Holley
ef0b93b31e Bug 911303 - Remove manual Destroy() routine from CycleCollectedJSRuntime. r=billm 2013-11-27 10:10:25 -08:00
Andrew McCreight
96e1092a51 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
96267f1e9a Bug 928647 - Remove CycleCollectedRuntime::mObjectToUnlink. r=smaug 2013-10-19 08:59:10 -07:00
Andrew McCreight
69e40bc338 Bug 915488 - Make CC participant's Root, Unroot and Unlink methods infallible. r=smaug 2013-09-11 18:57:53 -07:00
Ehsan Akhgari
83edc15195 Bug 917885 - Minimize the #includes in xpcom/base; r=bsmedberg 2013-09-19 14:29:31 -04:00
Ehsan Akhgari
5b80f8355d Backed out changeset a8d6973e5743 (bug 917885) because I pushed the wrong patch 2013-09-19 14:27:35 -04:00
Ehsan Akhgari
17ae4f436e Bug 917885 - Minimize the #includes in xpcom/base; r=bsmedberg 2013-09-19 14:12:56 -04:00
Bobby Holley
5edbdecb7b Bug 905926 - Invoke JS_DestroyRuntime before we totally tear down the XPCJSRuntime. r=billm 2013-09-17 09:46:31 -07:00
Dan Gohman
a50084b38d Bug 910823 - Constify static js::Class/JSClass instances. r=waldo 2013-09-11 05:49:05 -07:00
Andrew McCreight
797e84dcb3 Bug 909436 - Inline CycleCollectedJSRuntime::OnContext. r=bholley 2013-09-10 08:29:44 -07:00
Kyle Huey
bf7d0aa16a Bug 911258: Part 5 - Use the unified exception handling mechanism on workers. r=bz 2013-09-08 20:29:21 -07:00
Kyle Huey
c6389ea0fa Bug 911258: Part 4 - Refactor exception implementations. r=bz 2013-09-08 20:28:50 -07:00
Bobby Holley
44f0d562b5 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
d4eab5f3af 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
6188191d87 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
7367a3a5b8 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
fec6e6d8e3 Bug 910797, make Event.isTrusted to work in workers, r=khuey 2013-08-30 12:47:19 +03:00
Nicholas Nethercote
0df65930a1 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
2585de9a07 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
d45893bf60 Bug 903524 - Rename TestJSHolder to IsJSHolder. r=smaug 2013-08-15 10:29:02 -07:00
Kyle Huey
7ea5a68da2 Bug 901630: Remove support for the cc thread. r=mccr8 2013-08-13 10:45:32 -07:00
Nicholas Nethercote
292e8e2156 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
d8f824e34e Bug 898914 (part 1) - Remove JSBool.
--HG--
extra : rebase_source : 2d202e0e5005a7f54724b1540481c15cde3ad52e
2013-08-08 15:53:04 -07:00
Kyle Huey
b0e1508e38 Bug 845545: Part 4 - Create a worker implementation of CycleCollectedJSRuntime. r=mccr8,bent 2013-08-03 16:55:40 -07:00
Kyle Huey
9908c2bd93 Bug 845545: Part 3 - Give the CycleCollectedJSRuntime more control over
SnowWhite. r=smaug
2013-08-03 16:55:39 -07:00
Kyle Huey
6687175a2c Bug 845545: Part 2 - Refactor context creation callbacks. r=bholley,mccr8 2013-08-03 16:55:39 -07:00
Kyle Huey
92d60a1477 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
2e729aa83d 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
b002b30b2a 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
ab927a2cc9 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
6f4758d23e 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
7d893e1ec2 Bug 882893: Move observer notifications out of the cycle collector and into the runtime. r=smaug 2013-06-19 14:06:50 -07:00