Commit Graph

92 Commits

Author SHA1 Message Date
Andrew McCreight
67aeb89cc4 Bug 958353 - Add finishCC() and ccSlice() methods for testing incremental cycle collection. r=smaug 2014-05-06 17:25:26 -07:00
Andrew McCreight
b6ece55812 Bug 950959 - Rename scheduled cycle collector stuff to slice. r=smaug 2014-01-01 11:00:35 -08:00
Andrew McCreight
f83384339e Bug 937960, part 3 - Pass in a small time budget with ICC. r=smaug 2013-12-22 09:58:19 -05:00
Ryan VanderMeulen
383add0e97 Backed out changesets ccdc3d4f4571, 4dcc91e771e3, 0ae14946314b, and 94d22ab0b17f (bug 937960) for Windows 7 debug xpcshell failures. 2013-12-19 16:57:55 -05:00
Andrew McCreight
380df2f061 Bug 937960, part 3 - Pass in a small time budget with ICC. r=smaug 2013-12-18 21:22:55 -08:00
Ryan VanderMeulen
75c2b59eb5 Backed out changesets b03bd1170d1c, 419615a1195d, a1b699b80442, and 524c573fd8a6 (bug 937960) for Win7 debug xpcshell orange. 2013-12-18 19:04:11 -05:00
Andrew McCreight
c6cd1b5b90 Bug 937960, part 3 - Pass in a small time budget with ICC. r=smaug 2013-12-18 11:42:16 -08:00
Andrew McCreight
5900c0c4d6 Bug 937766, part 5 - Implement PrepareForGarbageCollection. r=smaug
Running the garbage collector can cause objects in the CC graph to
die, so just finish off an incremental cycle collection when we
start a GC.
2013-12-06 10:17:20 -08:00
Andrew McCreight
319fed2c0e Bug 935721, part 10 - Separate nsCycleCollector_collect and nsCycleCollector_scheduledCollect. r=smaug 2013-11-20 14:35:17 -08:00
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
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
Andrew McCreight
d03696b83c Bug 913666, part 5 - Rename aListener to aManualListener. r=smaug
The name "aListener" is not very descriptive, and with the previous patch, it is only
used to pass in a manually-specified listener that was passed in to CycleCollectNow,
so rename things.
2013-09-10 16:33:41 -07:00
Kyle Huey
d423a6350e Bug 911258: Part 4 - Refactor exception implementations. r=bz 2013-09-08 20:28:50 -07:00
Andrew McCreight
4723c7c5e3 Bug 883920 - use templates for {Hold,Drop}JSObjects. r=peterv 2013-08-16 13:10:17 -07:00
Olli Pettay
414342daf2 Bug 910797, make Event.isTrusted to work in workers, r=khuey 2013-08-30 12:47:19 +03: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
Kyle Huey
895f4a30bf Bug 845545: Part 3 - Give the CycleCollectedJSRuntime more control over
SnowWhite. r=smaug
2013-08-03 16:55:39 -07:00
Olli Pettay
676d2b13e5 Bug 897433 - Telemetry for SnowWhite and more async SnowWhite freeing (patch v4), r=mccr8 2013-07-27 13:48:45 +03:00
Ryan VanderMeulen
37205dbd4a Backed out changeset 300f5b7d72e1 (bug 897433) for intermittent Linux dromaeo crashes. 2013-07-25 21:18:20 -04:00
Olli Pettay
0da836185c Bug 897433, Telemetry for SnowWhite and more async SnowWhite freeing, r=mccr8
--HG--
extra : rebase_source : 487139a95f50e69d6273c2870ed6623f175544e7
2013-07-25 22:56:20 +03: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
Kyle Huey
55af825948 Bug 882162: Part 9 - Kill nsCycleCollectionJSRuntime. r=mccr8 2013-06-18 12:02:16 -07:00
Kyle Huey
c094a9abfa Bug 877584: Route JS holding through the cycle collection runtime so it can do different things on different threads. r=mccr8 2013-06-18 12:01:26 -07:00
Ed Morley
dbe9ed7b72 Backed out changeset 2864e2610800 (bug 877584) for causing bug 881266 2013-06-11 16:11:14 +01:00
Kyle Huey
fa511cb934 Bug 877584: Route JS holding through the cycle collection runtime so it can do different things on different threads. r=mccr8 2013-06-09 16:02:02 -07:00
Kyle Huey
b8b637e901 Back out bug 877584 on this CLOSED TREE. 2013-06-06 10:49:09 -07:00
Kyle Huey
8ffe7e2c57 Bug 877584: Route JS holding through the cycle collection runtime so it can do different things on different threads. r=mccr8 2013-06-06 10:23:45 -07:00
Andrew McCreight
b13ef63428 Bug 865320 - Move the logic for deciding when to doing a merging CC into the cycle collector. r=smaug 2013-04-29 16:41:41 -07:00
Andrew McCreight
fd769e05e8 Bug 866151 - Clean up usage of nsCycleCollector.h and nsCycleCollectorUtils.h. r=smaug,bsmedberg
--HG--
rename : xpcom/base/nsCycleCollector.h => xpcom/glue/nsCycleCollectionJSRuntime.h
2013-04-30 10:41:22 -07:00
ISHIKAWA, Chiaki
2a988fe2aa Bug 858477: remove extra comma from nsCycleCollector.h r=mccr8 2013-04-05 10:03:56 -07:00
Kyle Huey
f5dcde02da Bug 839025: Refactor cycle collector thread handling to make it optional. r=mccr8 2013-03-25 14:26:00 -07:00
Igor Bukanov
6e38ffd2b4 Bug 743436 - remove XPCJSRuntime::mJSCycleCollectionContext and related code. r=peterv
The patch removes no longer used XPCJSRuntime::mJSCycleCollectionContext,
nsXPConnect::mCycleCollectionContext and related code to create/destroy
contexts. As that made nsCycleCollectionJSRuntime::FinishTraverse() empty
in all cases I removed that method as well.
2013-02-27 11:33:12 -08:00
Kyle Huey
409e1cc43d Bug 845441: Remove DEBUG_CC. r=mccr8 2013-02-26 13:34:32 -08:00
Olli Pettay
04f89eb353 Bug 835503 - Remove nsCycleCollector::ShouldBeFreed/WasFreed, r=mccr8 2013-01-29 12:45:38 +02:00
Andrew McCreight
7d3dd0a3b1 Bug 690970, part 3: fix black-gray edges in weak containers at start of CC. r=billm 2013-01-08 10:36:51 -08:00
Olli Pettay
d0b7012d35 Bug 811206, Fix JSHolder drop handling, part 2 (assert), r=mccr8
--HG--
extra : rebase_source : e7731c7d1f81e250ea6992e4a15c3dc52bb136d0
2012-11-28 02:56:06 +02:00
Olli Pettay
6e4f7ab3ea Bug 784563 - Investigate being lazier about removing things from the purple buffer, r=mccr8 2012-09-08 13:46:48 +03:00
Ehsan Akhgari
0fd9123eac Bug 579517 - Part 1: Automated conversion of NSPR numeric types to stdint types in Gecko; r=bsmedberg
This patch was generated by a script.  Here's the source of the script for
future reference:

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*/.hg*" \
       ! -wholename "obj-ff-dbg*" \
       ! -name nsXPCOMCID.h \
       ! -name prtypes.h \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert PRInt8 int8_t
convert PRUint8 uint8_t
convert PRInt16 int16_t
convert PRUint16 uint16_t
convert PRInt32 int32_t
convert PRUint32 uint32_t
convert PRInt64 int64_t
convert PRUint64 uint64_t

convert PRIntn int
convert PRUintn unsigned

convert PRSize size_t

convert PROffset32 int32_t
convert PROffset64 int64_t

convert PRPtrdiff ptrdiff_t

convert PRFloat64 double
2012-08-22 11:56:38 -04:00
Bill McCloskey
96e4284f11 Bug 758034 - Clean up browser GC API (r=smaug) 2012-06-30 14:16:32 -07:00
Andrew McCreight
379571f73a Bug 754495, part 5 - Add support for compartment merging to cycle collector. r=smaug 2012-06-27 08:09:56 -07:00
Gervase Markham
ca171eec44 Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Andrew McCreight
dcc0543487 Bug 744103, part 4 - Remove nsCycleCollectionLanguageRuntime. r=smaug 2012-05-03 12:28:11 -07:00
Andrew McCreight
3ac11cfc5b Bug 744103, part 2 - Change NoteScriptChild to NoteJSChild. r=smaug 2012-05-03 12:28:10 -07:00
Andrew McCreight
a9c6928a04 Bug 678615, part 2: remove FinishCycleCollection. r=smaug 2012-04-25 08:10:09 -07:00
Andrew McCreight
a5af270e47 Bug 678615 - remove ExplainLiveExpectedGarbage. r=smaug sr=peterv 2012-04-25 08:10:09 -07:00
Andrew McCreight
146c531366 Bug 744088 - remove nsCycleCollector_getRuntime. r=smaug 2012-04-11 16:50:03 -07:00