Commit Graph

95 Commits

Author SHA1 Message Date
Birunthan Mohanathas
32cf6d3b35 Bug 995730 - Fix style violations in xpcom/base/ (part 2). r=froydnj 2014-05-14 23:14:58 +03:00
Jed Davis
0f6f582170 Bug 973090 - IPC remoting for child GC/CC logging. r=mccr8, r=bent
This has a few semi-interdependent pieces:

* Factoring out the file opening/closing/renaming from the GC/CC logging.

* Using IPC to have the child log to files that the parent opened.

* Changing nsIMemoryInfoDumper.dumpGCAndCCLogsToFile to report completion
  of child process logging (which was impossible before this, and which is
  needed to have a meaningful test case).

* Changing about:memory to dump logs for child processes, matching the
  behavior of the "Measure" button, because it can tell the user where
  they are now.

* Add a test for multiprocess GC/CC log dumping (only of the XPCOM
  interface, not by clicking buttons and scraping the about:memory page,
  but done as a chrome mochitest to start remote browsers); based on
  test_memoryReporters2.xul in the same directory.
2014-05-13 13:13:00 -04:00
Birunthan Mohanathas
00fa77001b Bug 995730 - Fix style violations in xpcom/base/. r=froydnj,continuation 2014-05-13 20:41:38 +03:00
Andrew McCreight
8825a1d4bc Bug 958353 - Add finishCC() and ccSlice() methods for testing incremental cycle collection. r=smaug 2014-05-06 17:25:26 -07:00
Andrew McCreight
48ba1d90e6 Bug 950959 - Rename scheduled cycle collector stuff to slice. r=smaug 2014-01-01 11:00:35 -08:00
Andrew McCreight
b4703a0481 Bug 937960, part 3 - Pass in a small time budget with ICC. r=smaug 2013-12-22 09:58:19 -05:00
Ryan VanderMeulen
e4ef933d12 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
0c6b052b16 Bug 937960, part 3 - Pass in a small time budget with ICC. r=smaug 2013-12-18 21:22:55 -08:00
Ryan VanderMeulen
2d5b945f2d 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
ba157fe9fc Bug 937960, part 3 - Pass in a small time budget with ICC. r=smaug 2013-12-18 11:42:16 -08:00
Andrew McCreight
fc233f4fd9 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
08b67b0ec5 Bug 935721, part 10 - Separate nsCycleCollector_collect and nsCycleCollector_scheduledCollect. r=smaug 2013-11-20 14:35:17 -08:00
Andrew McCreight
9c3c29695f 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
a2c0c65e43 Bug 917885 - Minimize the #includes in xpcom/base; r=bsmedberg 2013-09-19 14:29:31 -04:00
Ehsan Akhgari
9b717619cf Backed out changeset a8d6973e5743 (bug 917885) because I pushed the wrong patch 2013-09-19 14:27:35 -04:00
Ehsan Akhgari
dc575f6de1 Bug 917885 - Minimize the #includes in xpcom/base; r=bsmedberg 2013-09-19 14:12:56 -04:00
Andrew McCreight
e696bd7ef8 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
6a6c67829f Bug 911258: Part 4 - Refactor exception implementations. r=bz 2013-09-08 20:28:50 -07:00
Andrew McCreight
3228f67147 Bug 883920 - use templates for {Hold,Drop}JSObjects. r=peterv 2013-08-16 13:10:17 -07:00
Olli Pettay
83abfe1558 Bug 910797, make Event.isTrusted to work in workers, r=khuey 2013-08-30 12:47:19 +03:00
Andrew McCreight
20aa3460cc Bug 903524 - Rename TestJSHolder to IsJSHolder. r=smaug 2013-08-15 10:29:02 -07:00
Kyle Huey
8ef412bec4 Bug 901630: Remove support for the cc thread. r=mccr8 2013-08-13 10:45:32 -07:00
Kyle Huey
46d249128b Bug 845545: Part 3 - Give the CycleCollectedJSRuntime more control over
SnowWhite. r=smaug
2013-08-03 16:55:39 -07:00
Olli Pettay
26e794eac5 Bug 897433 - Telemetry for SnowWhite and more async SnowWhite freeing (patch v4), r=mccr8 2013-07-27 13:48:45 +03:00
Ryan VanderMeulen
1b688e197e Backed out changeset 300f5b7d72e1 (bug 897433) for intermittent Linux dromaeo crashes. 2013-07-25 21:18:20 -04:00
Olli Pettay
d135cf763c 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
6767d0a1a8 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
afae5b1108 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
1b8071cf87 Bug 882162: Part 9 - Kill nsCycleCollectionJSRuntime. r=mccr8 2013-06-18 12:02:16 -07:00
Kyle Huey
d91ec7682b 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
71b7df3bfd Backed out changeset 2864e2610800 (bug 877584) for causing bug 881266 2013-06-11 16:11:14 +01:00
Kyle Huey
756f02ce3d 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
86d6d2b6ae Back out bug 877584 on this CLOSED TREE. 2013-06-06 10:49:09 -07:00
Kyle Huey
0c7597e1cb 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
e7c16849ba 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
0bafa2c0cd 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
047c5f25c4 Bug 858477: remove extra comma from nsCycleCollector.h r=mccr8 2013-04-05 10:03:56 -07:00
Kyle Huey
59dccebb9e Bug 839025: Refactor cycle collector thread handling to make it optional. r=mccr8 2013-03-25 14:26:00 -07:00
Igor Bukanov
1ea05be2db 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
f4f18e6cd9 Bug 845441: Remove DEBUG_CC. r=mccr8 2013-02-26 13:34:32 -08:00
Olli Pettay
b2ee14044a Bug 835503 - Remove nsCycleCollector::ShouldBeFreed/WasFreed, r=mccr8 2013-01-29 12:45:38 +02:00
Andrew McCreight
ecb75d0a95 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
79b3761656 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
da2e3562f6 Bug 784563 - Investigate being lazier about removing things from the purple buffer, r=mccr8 2012-09-08 13:46:48 +03:00
Ehsan Akhgari
8c296bbcd4 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
0dd01290a1 Bug 758034 - Clean up browser GC API (r=smaug) 2012-06-30 14:16:32 -07:00
Andrew McCreight
95a987d18a Bug 754495, part 5 - Add support for compartment merging to cycle collector. r=smaug 2012-06-27 08:09:56 -07:00
Gervase Markham
87620f5676 Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Andrew McCreight
61de8b7612 Bug 744103, part 4 - Remove nsCycleCollectionLanguageRuntime. r=smaug 2012-05-03 12:28:11 -07:00
Andrew McCreight
38b851ba07 Bug 744103, part 2 - Change NoteScriptChild to NoteJSChild. r=smaug 2012-05-03 12:28:10 -07:00