Commit Graph

531 Commits

Author SHA1 Message Date
Phil Ringnalda
e39f0adeca Backed out 2 changesets (bug 1121304) for consistent b2g hangs in webgl-color-test.html?frame=1&__&preserve&premult&_____
Backed out changeset 20651ac19549 (bug 1121304)
Backed out changeset 758afec77c95 (bug 1121304)
2015-01-14 22:02:23 -08:00
Nicholas Nethercote
e9735966fa Bug 1121304 (part 2) - Remove PLDHashTableOps::{alloc,free}Table. r=froydnj. 2015-01-14 14:35:56 -08:00
Nicholas Nethercote
47221bc7f9 Bug 1120476 (part 4) - Remove PLDHashTableOps::finalize. r=froydnj.
--HG--
extra : rebase_source : b14dda8cdd5cd896d1e32950e38b2a9f7da4d99e
2015-01-13 19:02:35 -08:00
Nicholas Nethercote
c7538c9776 Bug 1120476 (part 3) - Remove PLDHashTable::data. r=froydnj.
--HG--
extra : rebase_source : 24d10af3dbce3ada5252503bc80bb1a4e31bc1c9
2015-01-13 16:42:13 -08:00
Andrew McCreight
c9b9054838 Backout bug 1052793 for exposing bad decommitting behavior for compartmental GCs. 2015-01-08 09:54:13 -08:00
Michael Pruett
62960a5119 Bug 1118024 - Add explicit PL_DHashTable{Add,Lookup,Remove} functions. r=nfroyd 2015-01-05 20:26:50 -06:00
Ehsan Akhgari
f32bb086bc Bug 1117035 - Mark virtual overridden functions as MOZ_OVERRIDE in XPCOM; r=froydnj 2015-01-05 11:25:41 -05:00
Andrew McCreight
9df62aaa5e Bug 1109928, part 6 - Define CCGraphBuilder::SetFirstChild() for consistency. r=smaug 2014-12-20 13:35:24 -05:00
Andrew McCreight
625a523a2c Bug 1109928, part 5 - Inline CCGraphBuilder::DescribeNode because it is silly. r=smaug 2014-12-20 13:35:24 -05:00
Andrew McCreight
dfe6e19690 Bug 1109928, part 4 - Make CCBuilder::AddNode private by adding a new AddPurpleRoot method. r=smaug 2014-12-20 13:35:23 -05:00
Andrew McCreight
03be1f7aee Bug 1109928, part 3 - Make CCGraphBuilder::AddWeakMapNode and ::NoteJSChild methods private. r=smaug 2014-12-20 13:35:23 -05:00
Andrew McCreight
930cb53323 Bug 1109928, part 2 - Inline some CCGraphBuilder methods now that the builder is doing the building. r=smaug
Also, make SetLastChild a private method defined in the class declaration.
2014-12-20 13:35:23 -05:00
Andrew McCreight
119b181592 Bug 1109928, part 1 - Move graph building inside CCGraphBuilder. r=smaug
This lets us hide a lot of the internal state of graph building from other classes.
2014-12-20 13:35:23 -05:00
Terrence Cole
4b6a74fbf2 Bug 1105069 - Part 21: Remove AsCell in preference of GCCellPtr; r=jonco, r=mccr8
--HG--
extra : rebase_source : 5c4470f3efbd9dbe3caee08ed88b07da549912e0
2014-12-14 08:27:52 -08:00
Terrence Cole
20e03ef2a5 Bug 1105069 - Part 17: Convert xpc_IsGrayGCThing to GCCellPtr; r=mccr8, j=jonco
--HG--
extra : rebase_source : 9fdc5ac9ca8de9c12a399532db7e77bc34abb7da
2014-12-05 09:38:34 -08:00
Terrence Cole
a99f92dd64 Bug 1105069 - Part 15: Convert xpc_GCThingIsGrayCCThing to GCCellPtr; r=mccr8, r=jonco
--HG--
extra : rebase_source : 096b8eaf5b46afc1c40b0b9e8b233ec13c638c85
2014-12-09 16:22:51 -08:00
Terrence Cole
e4a4d0c7fa Bug 1105069 - Part 14: Convert NoteJSChild to GCCellPtr; r=mccr8, r=jonco
--HG--
extra : rebase_source : 2338e0a57779401f9bc4744bc2fa59a4b31d76bf
2014-12-05 09:38:34 -08:00
Andrew McCreight
9d83b26756 Bug 1052793 - Do per-zone GC for CC_WAITING triggers. r=smaug 2014-12-13 21:17:35 -08:00
Andrew McCreight
0779204bd5 Bug 1097850 - ChildFinder::NoteNativeChild() should call CanSkip(). r=smaug 2014-12-12 13:42:21 -08:00
Andrew McCreight
a6fce3e639 Bug 1110243 - CCGraphBuilder::NoteNativeChild should call CanSkipThis(). r=smaug 2014-12-12 13:42:21 -08:00
Terrence Cole
b3fb25bc3f Bug 1105069 - Part 10: Convert NoteWeakMapping to GCCellPtr; r=jonco, r=mccr8
--HG--
extra : rebase_source : b660a676c03c4a0bbdc521a6401a2a619543aa2a
2014-12-05 09:38:32 -08:00
Nicholas Nethercote
2e23aeecb5 Bug 1102525 (part 3) - Replace SegmentedArray with mozilla::SegmentedVector in the cycle collector. r=smaug.
--HG--
extra : rebase_source : fb8b9f52958d6823dc011892b06bf42989a60a75
2014-12-08 14:45:13 -08:00
Olli Pettay
bed81b1fde Bug 1105089, try to have shorter ICC slices during animations, r=mccr8
--HG--
extra : rebase_source : bfe8cc2825b7cb2ec86f6e8f5ba590593e1c378b
2014-11-27 13:47:51 +02:00
Nicholas Nethercote
6b3fdce6bc Bug 1096624 - Use a SegmentedArray in nsCycleCollector::CollectWhite. r=smaug.
This patch does the following.

- Moves the logic for computing the ideal capacity for a SegmentedArray out of
  SnowWhiteKiller into its own class, SegmentedArrayCapacity.

- Replaces the nsTArray in CollectWhite(), which can be very large and is
  complicit in ~1% of OOM crashes, with a SegmentedArray.

--HG--
extra : rebase_source : 732743311a08fcc3dfe43a1b308846b93d30e6ed
2014-11-11 16:02:34 -08:00
Andrew McCreight
86f277bb36 Bug 1093278 - Null check in nsPurpleBuffer::VisitEntries. r=smaug 2014-11-03 16:50:00 -05:00
Emanuel Hoogeveen
fbc3e91445 Bug 1084651 - Part 5: Simplify Cycle Collector logic now that SliceBudget makes more sense. r=mccr8 2014-11-06 10:14:00 +01:00
Emanuel Hoogeveen
b7672edb91 Bug 1084651 - Part 2: Clean up SliceBudget and require explicitly choosing between TimeBudget and WorkBudget. r=billm r=mccr8 2014-10-22 14:13:00 +02:00
Nicholas Nethercote
c881cf722e Bug 1094564 - Used SegmentedArray in SnowWhiteKiller. r=smaug.
This patch generalizes SegmentedArray a little, and then uses it instead of
nsTArray in SnowWhiteKiller. This avoids some large (sometimes 1 MiB or more)
allocations which were usually mostly unused.
2014-11-09 14:57:09 -08:00
Carsten "Tomcat" Book
ba5a7941af Backed out changeset ebdebc9251be (bug 1084651) 2014-11-07 15:30:49 +01:00
Carsten "Tomcat" Book
d87e8af66c Backed out changeset 77959236fb15 (bug 1084651) 2014-11-07 15:30:16 +01:00
Emanuel Hoogeveen
0d92fda72d Bug 1084651 - Part 5: Simplify Cycle Collector logic now that SliceBudget makes more sense. r=mccr8 2014-11-06 10:14:00 +01:00
Emanuel Hoogeveen
2efb3493a7 Bug 1084651 - Part 2: Clean up SliceBudget and require explicitly choosing between TimeBudget and WorkBudget. r=wmccloskey r=mccr8 2014-10-22 14:13:00 +02:00
Carsten "Tomcat" Book
13de0f42c9 Backed out 7 changesets (bug 1084651) for ASAN Bustage on a CLOSED TREE
Backed out changeset dd2b3e78b425 (bug 1084651)
Backed out changeset 2711fbd91819 (bug 1084651)
Backed out changeset 59a163addd79 (bug 1084651)
Backed out changeset d36f6dbbf925 (bug 1084651)
Backed out changeset 78102b62a4a0 (bug 1084651)
Backed out changeset 06387a2343a0 (bug 1084651)
Backed out changeset 2f8e7c39573e (bug 1084651)
2014-11-05 15:20:25 +01:00
Emanuel Hoogeveen
dd0cdda357 Bug 1084651 - Part 5: Simplify Cycle Collector logic now that SliceBudget makes more sense. r=mccr8 2014-10-21 11:54:00 +02:00
Emanuel Hoogeveen
f6218097c0 Bug 1084651 - Part 2: Clean up SliceBudget and require explicitly choosing between TimeBudget and WorkBudget. r=wmccloskey r=mccr8 2014-10-22 14:13:00 +02: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
04f4e49d61 Bug 1087799, part 2 - Rename count to numWhiteNodes in nsCycleCollector::CollectWhite(). r=smaug 2014-10-24 15:06:56 -07:00
Andrew McCreight
14343f4a96 Bug 1087799, part 1 - Loosen the invariant in nsCycleCollector::FinishAnyCurrentCollection(). r=smaug
If an Unlink() method ends up running JS, it can cause a GC, which will make us reenter the CC,
which will not do anything because we're already in a CC. Therefore, FinishAnyCurrentCollection()
won't finish the CC. This is safe because the CC only touches things it actually holds alive via
the Root() method.
2014-10-24 15:06:55 -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
Nicholas Nethercote
df1c26a45e Bug 1057912 - Privatize most of PLDHashTable's fields. r=roc.
--HG--
extra : rebase_source : 0f55e70b63d9c191fbd9418cb1177ff534deeed9
2014-08-25 16:56:33 -07:00
Birunthan Mohanathas
80ef08ccd8 Bug 1046841 - Fix more style violations in previously touched .cpp files in xpcom/. r=froydnj 2014-08-25 12:17:15 -07:00
Trevor Saunders
fd5e9d1fcc bug 1047696 - mark a number of classes MOZ_FINAL to get compilers to devirtualize more r=froydnj 2014-08-05 13:33:55 -04:00
Nicholas Nethercote
a7cf4142b4 Bug 1050009 - Initialize pldhash tables with a length, not a capacity. r=roc.
* * *
imported patch rm-dummy-params

--HG--
extra : rebase_source : c25987eb11bae197218d5fc53b77def19afa36ac
2014-08-06 06:31:21 -07:00
Terrence Cole
3718c92afc Bug 1047120 - PurpleBuffer doesn't actually need to use Heap<T>; r=mccr8,jonco 2014-07-31 14:43:45 -07:00
Ehsan Akhgari
520fd897ed Bug 1045065 - Fix some bad implicit constructors in xpcom; r=froydnj 2014-07-28 13:19:06 -04:00
Jon Coppeard
c71e29bdb6 Bug 1043888 - Make GetObjetZone() work on nursery objects and rename GetGCThingZone() to GetTenuredGCThingZone() r=terrence 2014-07-28 10:39:36 +01:00
Andrew McCreight
6b5301fe94 Bug 1033654 - Rename GCGraphBuilder to CCGraphBuilder. r=smaug 2014-07-09 21:31:00 +02:00
Benoit Jacob
81effa4bca Bug 1028588 - Fix dangerous public destructors in xpcom/ - r=bsmedberg,khuey,nfroyd 2014-06-30 18:11:53 -04:00
Andrew McCreight
330696db42 Bug 1023758, part 2 - Dead traversed objects should be treated as incremental roots and colored. r=smaug 2014-06-30 16:18:47 -07:00
Andrew McCreight
9e6d927b37 Bug 1023758, part 1 - Refactor the node scanning loop in nsCycleCollector::ScanIncrementalRoots(). r=smaug
This will make it easier to scan for things besides gray JS nodes.  It slightly
reorders the tests we do, but it shouldn't really matter.
2014-06-30 16:18:46 -07:00