Commit Graph

1172 Commits

Author SHA1 Message Date
Nicholas Nethercote
4bbef5fc23 Bug 912165 - Remove the Linux-only smaps memory reporters. r=mccr8.
--HG--
extra : rebase_source : 4847c299f87a1a85944b169a808ee2c573ebf8b5
2013-09-03 21:09:15 -07:00
Nicholas Nethercote
52b5d8f76c Bug 911641 (part 2) - Prefix some reporters with "redundant/", and make about:memory ignore them. r=johns.
--HG--
extra : rebase_source : 9ed48217ecb8af66256ddbdb70ad9f6b5d049582
2013-09-03 20:06:36 -07:00
Nicholas Nethercote
494f00f266 Bug 911641 (part 1) - Remove about:compartments, and show the compartment and ghost window lists into about:memory. r=johns.
--HG--
extra : rebase_source : c1ef005e272048e2eb84b20bafff15bcb5aae511
2013-09-03 20:05:17 -07:00
Dan Gohman
8b7074b6dc Bug 910823 - Constify static js::Class/JSClass instances. r=waldo 2013-09-11 05:49:05 -07:00
Nicholas Nethercote
9d1d4e73b0 Bug 910517 (3rd attempt) - Remove nsIMemoryReporter, and rename nsIMemoryMultiReporter as nsIMemoryReporter. r=mmcr8.
--HG--
rename : content/canvas/src/WebGLMemoryMultiReporterWrapper.h => content/canvas/src/WebGLMemoryReporterWrapper.h
extra : rebase_source : 2b2a1b2667d6562fcf803ec48b4a8c10fdd519a3
2013-08-27 16:24:51 -07: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
Andrew McCreight
567cf603ca Bug 913666, part 4 - Sink free floating code from nsCycleCollector::Collect into BeginCollection. r=smaug
The hg diff for this commit is terrible, but all it is doing is taking the code
in nsCycleCollector::Collect from after PrepareForCollection through BeginCollection
and moving it into BeginCollection.
2013-09-10 16:33:41 -07:00
Andrew McCreight
a1c11fcfd7 Bug 913666, part 3 - Sink cycle collector listener selection into Collect. r=smaug
Move the two places we check global flags to decide if we want to use a listener, even if we
aren't passed in one.  A later patch renames aListener to aForcedListener to make it less
confusing.
2013-09-10 16:33:40 -07:00
Andrew McCreight
ee064e630a Bug 913666, part 2 - Log cycle collector garbage at the same time we log roots. r=smaug
There's no reason to wait until CollectWhite to record what is garbage, and with incremental CC
we'll get more accurate logging by logging right away, rather than waiting until later when an
object may have gone away for some other reason.
2013-09-10 16:33:40 -07:00
Andrew McCreight
7fc4e6d8a5 Bug 913666, part 1 - Move cycle collector root logging into ScanRoots. r=smaug 2013-09-10 16:33:39 -07:00
Andrew McCreight
24e684dfff Bug 913881, part 6 - Measure weak map representations in the cycle collector graph. r=njn
Contrary to the comment here, I'm pretty sure this needs to be measured. mWeakMaps
is an array of little structs. Of course, in practice I doubt this amounts to anything.
2013-09-10 08:56:36 -07:00
Andrew McCreight
f607cd627a Bug 913881, part 5 - Assert for freeing snow white during cycle collector scanning. r=smaug
If you call FreeSnowWhite when scanning is true, then objects that get released won't be added to the purple buffer, and you can get leaks.
2013-09-10 08:56:36 -07:00
Andrew McCreight
eb839e4fd0 Bug 913881, part 4 - Change nsCycleCollector::ClearGraph to GCGraph::Clear. r=smaug
There's no reason I can see to have this in nsCC instead of GCGraph.
2013-09-10 08:56:36 -07:00
Andrew McCreight
02cd488ac2 Bug 913881, part 3 - Fix argument name for GCGraphBuilder::AddNode. r=smaug 2013-09-10 08:56:35 -07:00
Andrew McCreight
c5a9714e4a Bug 913881, part 2 - Make a bunch of nsCycleCollector methods private. r=smaug 2013-09-10 08:56:35 -07:00
Andrew McCreight
ed8e6ab266 Bug 913881, part 1 - Remove unused method nsCycleCollector::Runtime. r=smaug 2013-09-10 08:56:35 -07:00
Andrew McCreight
5d1a629d03 Bug 913527, part 3 - Check for collection in progress in Collect. r=smaug
Moving this to the top level simplifies dealing with PrepareForCollection a bit.
2013-09-10 08:56:34 -07:00
Andrew McCreight
05c62f720a Bug 913527, part 2 - Remove empty CC graph optimization. r=smaug
This looks like a dubious optimization to skip most of a CC when the graph
is empty, dating from the dawn of the CC, but I doubt it is ever triggered
nowadays.
2013-09-10 08:56:34 -07:00
Andrew McCreight
56c493f4ee Bug 913527, part 1 - Get rid of FinishCollection. r=smaug
This can just be inlined now, with the cleanup parts moved into CleanupAfterCollection.
2013-09-10 08:56:34 -07:00
Andrew McCreight
bda98e0037 Bug 911829 - Separate main thread and worker cycle collector telemetry. r=smaug 2013-09-10 08:29:45 -07:00
Andrew McCreight
2c81958722 Bug 909436 - Inline CycleCollectedJSRuntime::OnContext. r=bholley 2013-09-10 08:29:44 -07:00
Kyle Huey
27e346e22d Bug 911258: Part 5 - Use the unified exception handling mechanism on workers. r=bz 2013-09-08 20:29:21 -07:00
Kyle Huey
d423a6350e Bug 911258: Part 4 - Refactor exception implementations. r=bz 2013-09-08 20:28:50 -07:00
Kyle Huey
458f55392d Bug 911258: Part 2 - Kill the exception service. r=bsmedberg 2013-09-08 20:28:49 -07:00
Andrew McCreight
1f03eb2bfa Bug 913130, part 4 - Replace body of ShutdownCollect loop with Collect. r=smaug 2013-09-06 16:17:53 -07:00
Andrew McCreight
76de7e39ff Bug 913130, part 3 - Run {PrepareFor,CleanupAfter} every iteration of ShutdownCollect. r=smaug 2013-09-06 16:17:03 -07:00
Andrew McCreight
fe8bff9077 Bug 913130, part 2 - Give Collect and ShutdownCollect more consistent ordering. r=smaug 2013-09-06 16:16:45 -07:00
Andrew McCreight
874be315cd Bug 913130, part 1 - Modify nsCycleCollector::Collect to allow it to be used at shutdown. r=smaug 2013-09-06 16:15:10 -07:00
Andrew McCreight
73e59c7849 Bug 913080 - Make GCGraphBuilder's hash table initialization infallible. r=smaug 2013-09-06 13:42:27 -07:00
Andrew McCreight
3bc68fecea Bug 911233, part 3 - Add more CheckThreadSafety calls to the cycle collector. r=khuey 2013-09-06 13:41:42 -07:00
Andrew McCreight
57b03de1f0 Bug 911233, part 2 - Inline SelectPurple. r=smaug 2013-09-06 13:41:11 -07:00
Andrew McCreight
3b16db1fc8 Bug 911233, part 1 - Minor cycle collector cleanups. r=smaug 2013-09-06 13:40:34 -07:00
Jim Blandy
28ebe45d1b Bug 899757: Make nsServerSocket::InitWithAddress provide more detailed error results. r=mayhemer, r=ted
I looked through the NSPR socket creation functions that InitWithAddress
uses to see which errors they could return, and placed appropriate comments
in ErrorAccordingToNSPR.

The test coverage is not great; in particular, I wasn't able to find a way
to elicit "address in use" errors from Windows (although I could from
Linux); the web says that Windows is much more relaxed about binding
listening sockets than Unix derivatives. I'm interested in suggestions.
2013-09-06 08:06:22 -07:00
Jim Blandy
742666beae Bug 899757: Distinguish PR_ADDRESS_NOT_SUPPORTED_ERROR from other network failures. r=mayhemer
I broke out this this change on its own, because it seemed to require some care:
PR_ADDRESS_NOT_SUPPORTED_ERROR used to be lumped in with several other NSPR
error codes and reported as NS_ERROR_CONNECTION_REFUSED; and a dumb grep shows
that the NS_ERROR_ is widely checked for. Introducing the distinction might
require the new NS_ERROR_SOCKET_ADDRESS_NOT_SUPPORTED value to be checked for
everywhere that currently checks for NS_ERROR_CONNECTION_REFUSED.

But that seems unlikely to be necessary: first of all, it shouldn't really
be possible, via the XPCOM interface, to force this error path to occur at
present: the components' implementations are in complete control over which
socket address types get used. I also did a Try push with a call to
NS_ABORT if a PR_ADDRESS_NOT_SUPPORTED_ERROR ever flows through
ErrorAccordingToNSPR; there were no crashes.

But if that's so, then why introduce the new error code at all? A later
patch adds support for Unix-domain sockets, a type of socket address which
is *not* supported on non-Unix systems. In that case, a distinct error code
will help people diagnose problems quickly.
2013-09-06 08:06:22 -07:00
Robert O'Callahan
33cdb42706 Bug 910989. Remove nsTHashtable::Init, fallible allocation, and MT hashtables. r=ehsan,bsmedberg
--HG--
extra : rebase_source : 0787130b1814c74bfb38dc178de94022f0b2e64e
2013-09-02 20:41:57 +12:00
Phil Ringnalda
ad36ee41a9 Back out 4537337759b7 (bug 910517) because nobody expects the talos inquisition
--HG--
rename : content/canvas/src/WebGLMemoryReporterWrapper.h => content/canvas/src/WebGLMemoryMultiReporterWrapper.h
2013-09-04 22:42:06 -07:00
Nicholas Nethercote
43ad5b4dcf Bug 910517 - Remove nsIMemoryReporter, and rename nsIMemoryMultiReporter as nsIMemoryReporter. r=mmcr8.
--HG--
rename : content/canvas/src/WebGLMemoryMultiReporterWrapper.h => content/canvas/src/WebGLMemoryReporterWrapper.h
extra : rebase_source : 9142be547b2eeef37a8073a710ce23070f98cf65
2013-08-27 16:24:51 -07:00
Mike Hommey
f1cf3b4238 Bug 912293 - Remove now redundant boilerplate from Makefile.in. r=gps 2013-09-05 09:01:46 +09:00
Bobby Holley
d5a3220b2a Bug 899367 - Remove check for non-WindowProxy objects on an scx. r=mccr8 2013-09-04 14:06:56 -07:00
Bobby Holley
6d001e824e 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
7932b397fb Bug 899367 - Have nsGlobalWindow go through nsJSContext to access the outer. r=mccr8 2013-09-04 14:06:55 -07:00
Bobby Holley
9ed5f11e8d 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
8abcb2d562 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
5cfc3855a5 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
Ed Morley
17f2f82cdb Merge mozilla-central and inbound 2013-09-04 16:53:03 +01:00
Ed Morley
2a2f5c9d13 Merge latest green inbound changeset and mozilla-central 2013-09-04 12:54:46 +01:00
Phil Ringnalda
271703650a Back out ce03cc2994aa:ae9f95fc1136 (bug 896797) for SpiderMonkey shell build bustage
CLOSED TREE
2013-09-03 23:21:30 -07:00
Gregory Szorc
f10d205e39 Bug 896797 - Part 2: Don't list autogenerated files in EXPORTS; r=glandium 2013-09-03 20:28:05 -07:00
Phil Ringnalda
88db37da09 Back out cc6f66e761d8 (bug 896797) for Windows build bustage
CLOSED TREE
2013-09-03 21:55:21 -07:00
Gregory Szorc
bceea37cd9 Bug 896797 - Part 2: Don't list autogenerated files in EXPORTS; r=glandium 2013-09-03 20:28:05 -07:00