Nicholas Nethercote
eda870fe92
Bug 1120476 (part 3) - Remove PLDHashTable::data. r=froydnj.
2015-01-13 16:42:13 -08:00
Andrew McCreight
755c13f279
Backout bug 1052793 for exposing bad decommitting behavior for compartmental GCs.
2015-01-08 09:54:13 -08:00
Michael Pruett
cdea6d623f
Bug 1118024 - Add explicit PL_DHashTable{Add,Lookup,Remove} functions. r=nfroyd
2015-01-05 20:26:50 -06:00
Ehsan Akhgari
ad34fcfc86
Bug 1117035 - Mark virtual overridden functions as MOZ_OVERRIDE in XPCOM; r=froydnj
2015-01-05 11:25:41 -05:00
Andrew McCreight
71e7b2fad7
Bug 1109928, part 6 - Define CCGraphBuilder::SetFirstChild() for consistency. r=smaug
2014-12-20 13:35:24 -05:00
Andrew McCreight
c6b526cde5
Bug 1109928, part 5 - Inline CCGraphBuilder::DescribeNode because it is silly. r=smaug
2014-12-20 13:35:24 -05:00
Andrew McCreight
50b1fe524b
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
899322186e
Bug 1109928, part 3 - Make CCGraphBuilder::AddWeakMapNode and ::NoteJSChild methods private. r=smaug
2014-12-20 13:35:23 -05:00
Andrew McCreight
7197764c51
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
3c680c6249
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
8765b633f5
Bug 1105069 - Part 21: Remove AsCell in preference of GCCellPtr; r=jonco, r=mccr8
2014-12-14 08:27:52 -08:00
Terrence Cole
f2467a2fa0
Bug 1105069 - Part 17: Convert xpc_IsGrayGCThing to GCCellPtr; r=mccr8, j=jonco
2014-12-05 09:38:34 -08:00
Terrence Cole
3bb2ef08f9
Bug 1105069 - Part 15: Convert xpc_GCThingIsGrayCCThing to GCCellPtr; r=mccr8, r=jonco
2014-12-09 16:22:51 -08:00
Terrence Cole
f9209afd94
Bug 1105069 - Part 14: Convert NoteJSChild to GCCellPtr; r=mccr8, r=jonco
2014-12-05 09:38:34 -08:00
Andrew McCreight
464b3de34d
Bug 1052793 - Do per-zone GC for CC_WAITING triggers. r=smaug
2014-12-13 21:17:35 -08:00
Andrew McCreight
b46210a06d
Bug 1097850 - ChildFinder::NoteNativeChild() should call CanSkip(). r=smaug
2014-12-12 13:42:21 -08:00
Andrew McCreight
58504fa2a5
Bug 1110243 - CCGraphBuilder::NoteNativeChild should call CanSkipThis(). r=smaug
2014-12-12 13:42:21 -08:00
Terrence Cole
556a5d11b7
Bug 1105069 - Part 10: Convert NoteWeakMapping to GCCellPtr; r=jonco, r=mccr8
2014-12-05 09:38:32 -08:00
Nicholas Nethercote
cd88198225
Bug 1102525 (part 3) - Replace SegmentedArray with mozilla::SegmentedVector in the cycle collector. r=smaug.
2014-12-08 14:45:13 -08:00
Olli Pettay
ee9a672f0e
Bug 1105089, try to have shorter ICC slices during animations, r=mccr8
2014-11-27 13:47:51 +02:00
Nicholas Nethercote
2c1375e09c
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.
2014-11-11 16:02:34 -08:00
Andrew McCreight
31451d53dd
Bug 1093278 - Null check in nsPurpleBuffer::VisitEntries. r=smaug
2014-11-03 16:50:00 -05:00
Emanuel Hoogeveen
5b5f796189
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
bdc15437f1
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
36a6f9d070
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
df1edffd22
Backed out changeset ebdebc9251be (bug 1084651)
2014-11-07 15:30:49 +01:00
Carsten "Tomcat" Book
e88af6d034
Backed out changeset 77959236fb15 (bug 1084651)
2014-11-07 15:30:16 +01:00
Emanuel Hoogeveen
155d7b3ae3
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
0b5aa87533
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
9f99f54951
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
03a9c3f2b0
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
f323ca2f54
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
5801cbcb0f
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
f476c6b76f
Bug 1087799, part 2 - Rename count to numWhiteNodes in nsCycleCollector::CollectWhite(). r=smaug
2014-10-24 15:06:56 -07:00
Andrew McCreight
de6e95b132
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
d869fa7eaa
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
c9cbbdc34d
Bug 1057912 - Privatize most of PLDHashTable's fields. r=roc.
2014-08-25 16:56:33 -07:00
Birunthan Mohanathas
6e9ec233ed
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
d67df400c1
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
663b82ea3b
Bug 1050009 - Initialize pldhash tables with a length, not a capacity. r=roc.
...
* * *
imported patch rm-dummy-params
2014-08-06 06:31:21 -07:00
Terrence Cole
101e1a8bb1
Bug 1047120 - PurpleBuffer doesn't actually need to use Heap<T>; r=mccr8,jonco
2014-07-31 14:43:45 -07:00
Ehsan Akhgari
c60f82c778
Bug 1045065 - Fix some bad implicit constructors in xpcom; r=froydnj
2014-07-28 13:19:06 -04:00
Jon Coppeard
c454bebcf7
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
4fb46ca258
Bug 1033654 - Rename GCGraphBuilder to CCGraphBuilder. r=smaug
2014-07-09 21:31:00 +02:00
Benoit Jacob
fcd3b40972
Bug 1028588 - Fix dangerous public destructors in xpcom/ - r=bsmedberg,khuey,nfroyd
2014-06-30 18:11:53 -04:00
Andrew McCreight
2feb3e9a24
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
bcd31d2d69
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
Wes Kocher
8d34dc1b3b
Backed out 4 changesets (bug 1028588) for build bustage
...
Backed out changeset 13a8bae671ca (bug 1028588)
Backed out changeset 19a19833f1d6 (bug 1028588)
Backed out changeset d5fae80054de (bug 1028588)
Backed out changeset 5942ad3859b8 (bug 1028588)
2014-06-30 15:50:19 -07:00
Benoit Jacob
6d0ba9e6eb
Bug 1028588 - Fix dangerous public destructors in xpcom/ - r=bsmedberg,khuey,nfroyd
2014-06-30 18:11:53 -04:00
Nicholas Nethercote
7b107d5931
Bug 1010064 - Allow memory reports to be anonymized. r=bsmedberg.
2014-05-20 23:06:54 -07:00