Commit Graph

6575 Commits

Author SHA1 Message Date
Mike Hommey
3ef8be4fa4 Bug 1203840 - Trigger dirty pages purge after CC. r=njn,r=smaug,r=mccr8
Jemalloc 4 purges dirty pages regularly during free() when the ratio of dirty
pages compared to active pages is higher than 1 << lg_dirty_mult.  We set
lg_dirty_mult in jemalloc_config to limit RSS usage, but it also has an impact
on performance.

So instead of enforcing a high ratio to force more pages being purged, we keep
jemalloc's default ratio of 8, and force a regular purge of all dirty pages,
after cycle collection.

Keeping jemalloc's default ratio avoids cycle-collection-triggered purge to
have to go through really all dirty pages when there are a lot, in which case
the normal jemalloc purge during free() will already have kicked in. It also
takes care of everything that doesn't run the cycle collector still having
a level of purge, like plugins in the plugin-container.

At the same time, since jemalloc_purge_freed_pages does nothing with jemalloc 4,
repurpose the MEMORY_FREE_PURGED_PAGES_MS telemetry probe to track the time
spent in this cycle-collector-triggered purge.
2015-09-20 17:43:43 +09:00
Peter Van der Beken
58449c1f88 Fix for bug 527558 (Crash [@ xul.dll\!nsDependentCSubstring::nsDependentCSubstring]). r=sicking. 2009-11-15 14:50:09 +01:00
Nathan Froyd
037b5ceb0a Bug 1121216 - disable BackgroundHangMonitor for TSan builds; r=jchen 2015-08-04 00:27:59 -04:00
Jim Chen
0fb099680a Bug 1196381 - Eliminate breakpad dependency in ThreadStackHelper; r=nfroyd r=snorp
The breakpad dependency in ThreadStackHelper is preventing us from
upgrading our in-tree copy to a newer version (bug 1069556). This patch
gets rid of that dependency. This makes native stack frames not work
for BHR, but because of the ftp.m.o decommissioning, native
symbolication was already broken and naive stack frames already don't
work, so we don't really lose anything from this patch.

Eventually we want to make ThreadStackHelper use other means of
unwinding, such as LUL for Linux

I added | #if 0 | around the code to fill the thread context, but left
the code in because I think we'll evenually want to reuse some of that
code.
2015-09-18 09:17:10 -04:00
Andrew McCreight
c5010594cf Bug 1205348 - Always do shutdown CCs when NS_FREE_PERMANENT_DATA is defined. r=smaug 2015-09-16 10:10:00 +02:00
Nicholas Nethercote
6855b78fbf Bug 1201135 - Rename pldhash.{h,cpp} to PLDHashTable.{h,cpp}. r=mccr8. 2015-09-15 20:49:53 -07:00
Nicholas Nethercote
a3897fb534 Bug 1203427 (part 6) - Add link to MDN docs about TimerFirings logging. r=me.
DONTBUILD because comment-only change.
2015-09-16 21:49:24 -07:00
Nicholas Nethercote
09b4a9e997 Bug 1203427 (part 5) - Add logging of timer firings. r=froydnj. 2015-09-10 00:50:51 -07:00
Nicholas Nethercote
c65f0f318a Bug 1203427 (part 4) - Remove trailing whitespace from nsITimer.idl. r=froydnj.
IGNORE IDL because whitespace only changes.
2015-09-14 15:57:17 -07:00
Nicholas Nethercote
6a282d633a Bug 1203427 (part 3) - Change order of InitCommon() arguments. r=froydnj.
This makes the order of |aDelay| and |aType| match those of the InitWith*()
functions.

I've made this change because the inconsistency tripped me up during the
development of part 4.
2015-09-14 15:57:17 -07:00
Nicholas Nethercote
cae6e9971a Bug 1203427 (part 1) - Add nsExpirationTracker::mName. r=froydnj.
There are many sub-classes of nsExpirationTracker. In order to distinguish them
nicely in the logging of timer firings, it's necessary to manually name each
one. (This wouldn't be necessary if there was a way to stringify template
parameters, but there isn't.)
2015-09-09 21:07:07 -07:00
Chris Peterson
bcf08cea4c Bug 1204403 - Fix -Wshadow warnings in xpcom. r=mccr8 2015-09-07 23:56:16 -07:00
Kan-Ru Chen
fa6350cc5c Bug 1123237 - Part 10. Expose SwapElements from nsBaseHashtable. r=nfroyd 2015-09-16 10:31:13 +08:00
Nicholas Nethercote
ac3ae5e6c1 Bug 1121760 (part 6) - Move all remaining PL_DHash*() functions into PLDHashTable. r=poiru. 2015-09-14 14:23:47 -07:00
Nicholas Nethercote
93fcb9414c Bug 1121760 (part 5) - Remove PL_DHashMarkTableImmutable(). r=poiru. 2015-09-14 14:23:27 -07:00
Nicholas Nethercote
2d94391edd Bug 1121760 (part 4) - Remove PL_DHashTableRawRemove(). r=poiru. 2015-09-14 14:23:26 -07:00
Nicholas Nethercote
5c91fcd1e6 Bug 1121760 (part 3) - Remove PL_DHashTableRemove(). r=poiru. 2015-09-14 14:23:24 -07:00
Nicholas Nethercote
538c6626e9 Bug 1121760 (part 2) - Remove PL_DHashTableAdd(). r=poiru. 2015-09-14 14:23:12 -07:00
Nicholas Nethercote
ba83ffc5ec Bug 1121760 (part 1) - Remove PL_DHashTableSearch(). r=poiru. 2015-05-21 00:34:25 -07:00
Andrew McCreight
2e4be7587d Bug 1201271 - Warn about unused results for more methods of nsTArray. r=froydnj
This leaves alone the AppendElement methods.
2015-09-15 15:30:44 -07:00
Shu-yu Guo
45211869c8 Bug 1202902 - Mass replace toplevel 'let' with 'var' in preparation for global lexical scope. (rs=jorendorff) 2015-09-15 11:19:45 -07:00
Nathan Froyd
75f2d9574f Bug 939790 - make SafeMutex::mOwnerThread a relaxed atomic variable; r=bsmedberg
This is similar to the solution adopted for bug 1190985, a race in
netwerk's DebugMutexAutoLock.  A relaxed atomic tells tools like TSan
that we're OK with this variable being touched from multiple threads.
That it's only set from within a locked mutex should ensure whatever
memory barriers we need are executed so all threads have a consistent
view of what value it contains.

Getting rid of another |volatile| usage in the codebase is just a bonus.
2015-09-11 20:57:07 -04:00
Ben Kelly
c2410a8eb0 Bug 1203680 P4 Fix bug in nsStorageStream with reading streams created before data is populated. r=froydnj 2015-09-15 10:15:45 -07:00
Ben Kelly
d44841da25 Bug 1203680 P2 Implement an NS_InputStreamIsCloneable() method. r=froydnj 2015-09-15 10:15:45 -07:00
Kyle Huey
2943734a64 Bug 1200922: Add the ability to shut down a thread asynchronously. r=froydnj 2015-09-14 18:24:43 -07:00
Wes Kocher
6fc13b52da Backed out 9 changesets (bug 1203680) for mochitest bustage CLOSED TREE
Backed out changeset e4733b9eb53c (bug 1203680)
Backed out changeset fb33eb2a55b0
Backed out changeset eb42e21bbb96 (bug 1203680)
Backed out changeset 86642d84e604 (bug 1203680)
Backed out changeset 1026da4b02fb (bug 1203680)
Backed out changeset 311f9810e0b3 (bug 1203680)
Backed out changeset 6fedc85dc0d9 (bug 1203680)
Backed out changeset b25230c0a193 (bug 1093357)
Backed out changeset 2369d63ef14a (bug 1203680)
2015-09-14 14:27:57 -07:00
Ben Kelly
bf0bbfeb2a Bug 1203680 P2 Implement an NS_InputStreamIsCloneable() method. r=froydnj 2015-09-14 12:12:00 -07:00
Ben Kelly
a0ec6742f8 Backout rev b25230c0a193 for wrong bug number. r=me 2015-09-14 12:12:00 -07:00
Ben Kelly
a628236064 Bug 1203680 P4 Fix bug in nsStorageStream with reading streams created before data is populated. r=froydnj 2015-09-14 12:04:56 -07:00
Ben Kelly
bb62fead76 Bug 1093357 P2 Implement an NS_InputStreamIsCloneable() method. r=froydnj 2015-09-14 12:04:56 -07:00
Ben Kelly
bddde1fa43 Bug 1203760 P2 Add gtests for nsPipeInputStream AsyncRead(). r=froydnj 2015-09-14 08:49:09 -07:00
Ben Kelly
b0a9dd9ecd Bug 1203760 P1 Allow pipe to wake up multiple streams at the same time. r=froydnj 2015-09-14 08:49:09 -07:00
Michael Layzell
f20336e5e1 Bug 1201190 - Part 3: Mark every consumer of GUARD_OBJECT as MOZ_RAII, r=ehsan 2015-09-12 16:53:33 -04:00
Michael Layzell
2e2e2bf5ed Bug 1156802 - Part 2: Remove all explicit move constructors, r=ehsan 2015-09-12 12:34:45 -04:00
Nathan Froyd
9963101cf1 Bug 1202828 - use nsEventQueue::HasPendingEvent in nsThread.cpp; r=mccr8
nsEventQueue's HasPending event is defined to simply:

  return GetEvent(false, nullptr);

So we can substitute HasPendingEvent for this particular GetEvent call
to make the code clearer.
2015-09-04 20:39:10 -04:00
Honza Bambas
ebd23f5a78 Bug 1199775 - mozilla::Tokenizer improvements vol 2. r=nfroyd 2015-09-02 06:20:00 +02:00
Ehsan Akhgari
6e42b2c32e Bug 1196430 follow-up: Hide the usage of gCodeAddressService behind #ifdef MOZ_STACKWALKING
This is needed to fix the build bustage on B2G Desktop Windows.
Landed on a CLOSED TREE
2015-09-11 00:06:40 -04:00
Nathan Froyd
68c76ca736 Bug 1196430 - part 8 - use less reinterpret_cast in nsTraceRefcnt.cpp; r=mccr8 2015-08-26 22:57:32 -04:00
Nathan Froyd
3f38bd6581 Bug 1196430 - part 5 - dump allocation stacks for leaked objects in XPCOM_MEM_LOG_CLASSES; r=mccr8 2015-08-26 19:10:22 -04:00
Nathan Froyd
101eaf807e Bug 1196430 - part 4 - record allocation stacks for classes in XPCOM_MEM_LOG_CLASSES; r=mccr8 2015-08-26 18:47:03 -04:00
Nathan Froyd
f2ae7da290 Bug 1196430 - part 3 - remove unnecessary nsString.h include from nsTraceRefcnt.cpp; r=mccr8 2015-08-26 18:28:35 -04:00
Nathan Froyd
482b59a8ad Bug 1196430 - part 2 - give SerialNumberRecord a proper constructor; r=mccr8
Using C++ style is so much nicer for these sorts of things.  This change
also paves the way for easily using non-POD things in SerialNumberRecord.
2015-08-26 18:25:35 -04:00
Nathan Froyd
904832b598 Bug 1196430 - part 1 - rename serialNumberRecord to SerialNumberRecord; r=mccr8
This is a small cleanup to make the class name conform to coding standards.
2015-08-26 18:24:13 -04:00
Ms2ger
5db7e694ee Bug 1194603 - Remove INTERNAL_TOOLS; r=mshal
Its only purpose is to disable PGO. Where that was not already explicitly done,
or irrelevant (because the directory only contains python), I disabled it in
moz.build.
2015-09-10 13:49:19 +02:00
Nikhil Marathe
56a9c419d8 Bug 1198230 - Respect FetchEvent.preventDefault(). r=jdm
Update web-platform-tests expected data
2015-09-04 12:00:24 -07:00
Nicholas Nethercote
2ada216e0f Bug 1202526 (part 8) - Use PLDHashTable::RemoveEntry() in the cycle collector. r=mccr8.
This avoids repeating the hash table search in order to remove a CC graph
entry, which is good because it's a common operation.
2015-09-07 21:15:32 -07:00
Nicholas Nethercote
980d9f7a73 Bug 1202526 (part 1) - Add PLDHashTable::RemoveEntry(). r=froydnj.
This patch also consolidates the shrink handling so it's now entirely within
ShrinkIfAppropriate().
2015-09-07 19:20:12 -07:00
Wes Kocher
9bcea3c39d Backed out changeset f5b2a11c64c9 (bug 1201271) for bustage 2015-09-09 15:56:21 -07:00
Andrew McCreight
e0986ef5bc Bug 1201271 - Warn about unused results for more methods of nsTArray. r=froydnj
This leaves alone the AppendElement methods.
2015-09-09 15:39:10 -07:00
Carsten "Tomcat" Book
039287e013 Merge mozilla-central to fx-team 2015-09-09 14:10:46 +02:00