Commit Graph

14322 Commits

Author SHA1 Message Date
ffxbld
875e811e58 Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release 2015-09-21 10:15:23 -04:00
Mike Hommey
538706caba 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
6b175b5c02 Fix for bug 527558 (Crash [@ xul.dll\!nsDependentCSubstring::nsDependentCSubstring]). r=sicking.
--HG--
extra : rebase_source : f90ade60ba73a7cfd8fc2137f5d14e26c3382b76
2009-11-15 14:50:09 +01:00
Nathan Froyd
8108bffcc3 Bug 1121216 - disable BackgroundHangMonitor for TSan builds; r=jchen 2015-08-04 00:27:59 -04:00
Jim Chen
5d85f6dea6 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
ac5e9c32f9 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
647b520991 Bug 1201135 - Rename pldhash.{h,cpp} to PLDHashTable.{h,cpp}. r=mccr8.
--HG--
rename : xpcom/glue/pldhash.cpp => xpcom/glue/PLDHashTable.cpp
rename : xpcom/glue/pldhash.h => xpcom/glue/PLDHashTable.h
extra : rebase_source : 06b9d30db96ed78500fd44d9c0b51609103508a3
2015-09-15 20:49:53 -07:00
Nicholas Nethercote
0d5b7b370d Bug 1203427 (part 6) - Add link to MDN docs about TimerFirings logging. r=me.
DONTBUILD because comment-only change.

--HG--
extra : rebase_source : 0f94403df66f19ad4382d89655fac0da6ccaf294
2015-09-16 21:49:24 -07:00
Nicholas Nethercote
f429eae6a5 Bug 1203427 (part 5) - Add logging of timer firings. r=froydnj. 2015-09-10 00:50:51 -07:00
Nicholas Nethercote
f2c0ec4c11 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
886074f2e3 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.

--HG--
extra : rebase_source : 7d49f3f643e76955ea3de57e0954deb22cda3ddf
2015-09-14 15:57:17 -07:00
Nicholas Nethercote
6f036921dc 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.)

--HG--
extra : rebase_source : 89b99e9dbb2a806bd21145d04a5e023794643b61
2015-09-09 21:07:07 -07:00
Chris Peterson
0dbaae1ce2 Bug 1204403 - Fix -Wshadow warnings in xpcom. r=mccr8 2015-09-07 23:56:16 -07:00
Kan-Ru Chen
28c419dcc1 Bug 1123237 - Part 10. Expose SwapElements from nsBaseHashtable. r=nfroyd 2015-09-16 10:31:13 +08:00
Nicholas Nethercote
2ee4fd783b Bug 1121760 (part 6) - Move all remaining PL_DHash*() functions into PLDHashTable. r=poiru.
--HG--
extra : rebase_source : 3cdc975507170d783b02d70f7c7d95c6bf2e1bcd
2015-09-14 14:23:47 -07:00
Nicholas Nethercote
63e79d16db Bug 1121760 (part 5) - Remove PL_DHashMarkTableImmutable(). r=poiru.
--HG--
extra : rebase_source : 8617d7f3d8034832321145789cc0108f6a0878df
2015-09-14 14:23:27 -07:00
Nicholas Nethercote
ecf0b741cd Bug 1121760 (part 4) - Remove PL_DHashTableRawRemove(). r=poiru.
--HG--
extra : rebase_source : 9989b2171b8213512ce779415812fa04471fde22
2015-09-14 14:23:26 -07:00
Nicholas Nethercote
59683492e5 Bug 1121760 (part 3) - Remove PL_DHashTableRemove(). r=poiru.
--HG--
extra : rebase_source : c34d693de4aca45f2ea05c2767c8b1007c89df29
2015-09-14 14:23:24 -07:00
Nicholas Nethercote
479244f7c9 Bug 1121760 (part 2) - Remove PL_DHashTableAdd(). r=poiru.
--HG--
extra : rebase_source : 41eb939bfb5c925cba58b1af57abce9a4e5fdb30
2015-09-14 14:23:12 -07:00
Nicholas Nethercote
fcfdd8f54b Bug 1121760 (part 1) - Remove PL_DHashTableSearch(). r=poiru.
--HG--
extra : rebase_source : 770e1f49a451ecbadd778e071b204611e27cf701
2015-05-21 00:34:25 -07:00
Andrew McCreight
5446225d17 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
64db2267cf 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
fc3e60aac1 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
233c4ec7a9 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
02126738d3 Bug 1203680 P2 Implement an NS_InputStreamIsCloneable() method. r=froydnj 2015-09-15 10:15:45 -07:00
Kyle Huey
0efe211e55 Bug 1200922: Add the ability to shut down a thread asynchronously. r=froydnj 2015-09-14 18:24:43 -07:00
Wes Kocher
a336f83a0a 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
7c43b0d527 Bug 1203680 P2 Implement an NS_InputStreamIsCloneable() method. r=froydnj 2015-09-14 12:12:00 -07:00
Ben Kelly
acc86c5c7a Backout rev b25230c0a193 for wrong bug number. r=me 2015-09-14 12:12:00 -07:00
Ben Kelly
79ccea7ed6 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
2577b751f1 Bug 1093357 P2 Implement an NS_InputStreamIsCloneable() method. r=froydnj 2015-09-14 12:04:56 -07:00
Ben Kelly
e0bbb6d4d2 Bug 1203760 P2 Add gtests for nsPipeInputStream AsyncRead(). r=froydnj 2015-09-14 08:49:09 -07:00
Ben Kelly
a1265d3d9a 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
0097c41e01 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
1eaae658aa Bug 1156802 - Part 2: Remove all explicit move constructors, r=ehsan 2015-09-12 12:34:45 -04:00
Nathan Froyd
85d7b073ac 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
3506e6ec97 Bug 1199775 - mozilla::Tokenizer improvements vol 2. r=nfroyd 2015-09-02 06:20:00 +02:00
Ehsan Akhgari
97be810099 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
89639e1fda Bug 1196430 - part 8 - use less reinterpret_cast in nsTraceRefcnt.cpp; r=mccr8 2015-08-26 22:57:32 -04:00
Nathan Froyd
3953358c0b 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
d6c3776152 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
04974cb31c Bug 1196430 - part 3 - remove unnecessary nsString.h include from nsTraceRefcnt.cpp; r=mccr8 2015-08-26 18:28:35 -04:00
Nathan Froyd
e9b6ac22f9 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
1acef79801 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
ce50a0bf86 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
cd9d0eb7ab Bug 1198230 - Respect FetchEvent.preventDefault(). r=jdm
Update web-platform-tests expected data

--HG--
extra : commitid : 4dM6kivKeAc
extra : rebase_source : 64e40258a98b79064d5073422811fb8e1f688735
2015-09-04 12:00:24 -07:00
Nicholas Nethercote
ffb1fefc9f 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
de8fceb34d 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
ba9de6a2f7 Backed out changeset f5b2a11c64c9 (bug 1201271) for bustage 2015-09-09 15:56:21 -07:00
Andrew McCreight
3e590f4e78 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
c040626933 Merge mozilla-central to fx-team 2015-09-09 14:10:46 +02:00
Milan Sreckovic
9a9792e17d Bug 1128472 - Part 3. Vendor string on windows. r=aklotz 2015-09-03 13:10:00 +02:00
Milan Sreckovic
79db27187c Bug 1128472 - Part 2. Linux support. r=gfritzsche 2015-09-08 14:35:00 +02:00
Milan Sreckovic
c2e36204f0 Bug 1128472 - Part 1. Mac and Win for model, stepping, cores, cache, cpu speed; VM max on Win only, vendor on Mac only. r=gfritzsche 2015-09-01 14:48:00 +02:00
Randell Jesup
5e0e7e846c Bug 1197152: Alternative to remove all sleep/wake functionality from Timers r=froydnj
CLOSED TREE

--HG--
extra : amend_source : 8c363c570bea046904f2f9d7bf72b107012653d7
2015-09-08 11:34:09 -04:00
Nathan Froyd
444fb07360 Bug 1202667 - make TaskQueue task running slightly more efficient; r=mccr8
We can transfer the reference out of the queue of runnables instead of
taking a new reference right before we drop the old one.
2015-09-07 20:02:16 -04:00
Nathan Froyd
fbb4e33fce Bug 1202667 - make TaskQueue dispatching slightly more efficient; r=mccr8
We're already holding a reference to the Runner prior to dispatching it
to the thread pool; we can pass that reference in rather than requiring
the thread pool to take a new reference to it.
2015-09-07 19:51:54 -04:00
Nathan Froyd
17c37f82b5 Bug 1195767 - part 5 - use signaling instead of broadcast when work items are placed in nsEventQueue; r=gerald
There's no reason to wake up all the threads in a thread pool when one
item gets placed in the queue.  Waking up one will serve the same
purpose and is significantly more efficient for thread pools with large
numbers of threads.
2015-09-03 16:38:18 -04:00
Nathan Froyd
8502eaeea7 Bug 1195767 - part 4 - remove nsEventQueue::GetReentrantMonitor; r=gerald
The last commit eliminated the only client of this method, so we can
remove it now.
2015-09-03 16:37:51 -04:00
Nathan Froyd
aafe5d489a Bug 1195767 - part 3 - modify nsThreadPool to use a non-reentrant monitor; r=gerald
There's no reason nsThreadPool needs to use a reentrant monitor for
locking its event queue.  Having it use a non-reentrant one should be
slightly more efficient, both in the general operation of the monitor,
and that we're not performing redundant locking in methods like
nsThreadPool::Run.  This change also eliminates the only usage of
nsEventQueue::GetReentrantMonitor.
2015-09-03 15:38:28 -04:00
Nathan Froyd
92e6eccda2 Bug 1195767 - part 2 - create an nsEventQueueBase templated over the monitor type; r=gerald
Clients of nsEventQueue don't always need fully reentrant monitors.
Let's account for that by having a base class templated on the monitor
type.  This change also opens up the possibility of having the monitor
for the event queue not owned by the event queue itself, but by the
client class, which makes a lot more sense than the current design.
2015-08-28 13:26:17 -04:00
Nathan Froyd
1e05c1710d Bug 1195767 - part 1 - remove nsCOMPtr temporary from nsEventQueue::PutEvent; r=gerald
The comment here suggests that we might AddRef/Release, but we really do
no such thing.  Let's deal with the transfer of ownership directly,
rather than going through nsCOMPtr.  This change makes the code slightly
smaller, and it also makes later refactorings to pull the lock out of
this function easier to do, since we don't have to consider how to hold
the lock within the lifetime of the nsCOMPtr temporary.
2015-08-28 14:19:49 -04:00
Miko Mynttinen
2337336eca Bug 1201287 - Cleanup nsSupportsPrimitives.cpp. r=smaug
--HG--
extra : rebase_source : b0828cd31ba5fd7778852185fdb39af180750287
2015-09-06 19:53:33 +03:00
Phil Ringnalda
90583f7067 Backed out 10 changesets (bug 1123237) for hazard build failures and Windows test failures
CLOSED TREE

Backed out changeset 9c26b3b787f8 (bug 1123237)
Backed out changeset 1fcec0dc93d5 (bug 1123237)
Backed out changeset 390033ceebb6 (bug 1123237)
Backed out changeset e8a1845876d6 (bug 1123237)
Backed out changeset 714ec40715fa (bug 1123237)
Backed out changeset 5ed952e011c3 (bug 1123237)
Backed out changeset c785df6c0cdf (bug 1123237)
Backed out changeset d69e2d195a24 (bug 1123237)
Backed out changeset 1f328807da1d (bug 1123237)
Backed out changeset a1546857dce9 (bug 1123237)
2015-09-05 13:49:39 -07:00
Kan-Ru Chen
ab9d4cc8c0 Bug 1123237 - Part 10. Expose SwapElements from nsBaseHashtable. r=nfroyd 2015-09-06 00:13:26 +08:00
Wes Kocher
85ea8cdaff Merge m-c to inbound, a=merge 2015-09-04 15:41:19 -07:00
Wes Kocher
a5709b4620 Merge inbound to central, a=merge 2015-09-04 15:34:42 -07:00
Eric Rahm
42afa97523 Bug 1199400 - Part 2: Add tests for possible nsDeque corner cases. r=froydnj 2015-09-04 15:05:01 -07:00
Andrew McCreight
13445609b8 Backed out changeset 351d5f864f9e for not compiling. 2015-09-04 09:52:24 -07:00
Andrew McCreight
cc00f8d5c9 Bug 1201271 - Warn about unused results for more methods of nsTArray. r=froydnj
This leaves alone the AppendElement methods.
2015-09-04 09:45:44 -07:00
Andrew McCreight
e46abbfe4f Bug 1200795, part 2 - Add memory reporting for CCGraph::mPtrToNodeMap. r=njn 2015-09-04 09:45:44 -07:00
Andrew McCreight
bd863a70b2 Bug 1200795, part 1 - Eliminate excessive detail from cycle collector graph memory reporting. r=njn 2015-09-04 09:45:44 -07:00
Carsten "Tomcat" Book
ba11394eac Merge mozilla-central to fx-team 2015-09-04 16:25:40 +02:00
Mike Hommey
fba2225be7 Bug 1201453 - Make TestTArray's test_fallible use array sizes slightly less than 128MB. r=nfroyd 2015-09-04 14:35:53 +09:00
Eric Rahm
f8b8e77b55 Bug 1199400 - Part 1: Use CheckedInt when growing nsDeque capacity. r=froydnj 2015-09-03 13:33:46 -07:00
Eric Rahm
42bed38c5e Bug 1199400 - Part 0: Remove unused nsDequeIterator. r=froydnj 2015-09-04 15:04:58 -07:00
Florian Quèze
e966fcb5ac Bug 1169459 - remove the loadFromJars/jarURIs prefs, r=Mossop. 2015-09-04 11:50:49 +02:00
David Major
1415ae55cb Bug 1201205 part 2: Restore protection on the nop space separately from the function. r=m_kato
--HG--
extra : rebase_source : c3b5d44c04b41dc4133e9f3f50a0394c964ac673
2015-09-04 14:24:05 -04:00
David Major
2f23a1b1e6 Bug 1201205 part 1: Add an AutoVirtualProtect helper class to make the next patch easier. r=m_kato
--HG--
extra : rebase_source : c32b1cd483bdbfe09760fcb7c0a36cecf3b9940c
2015-09-04 14:23:33 -04:00
Terrence Cole
0716d4888f Bug 1199843 - Part 3: Strongly type JS::TraceChildren; r=jonco r=mccr8
--HG--
extra : rebase_source : c779897338dc4b73dca98517acb8d0eef7e0d7a5
2015-09-02 11:34:36 -07:00
Ben Kelly
10350eb242 Bug 1184607 P4 Handle the RequestRedirect mode during service worker interception. r=nsm
* * *
Bug 1184607 P4 interdiff 001 fix manual redirect assertion for navigations r=nsm
* * *
Bug 1184607 P4 interdiff 002 dom/worker nits
2015-08-31 14:26:29 -07:00
Alphan Chen
daa714c8ea Bug 1154435 - [nsGZFileWriter] Add one more mode for writing a GZFile (Create/Append). r=froydnj 2015-06-05 11:20:16 +08:00
Nicholas Nethercote
f44287005f Bug 1198334 (part 1) - Replace the opt-in FAIL_ON_WARNINGS with the opt-out ALLOW_COMPILER_WARNINGS. r=glandium.
The patch removes 455 occurrences of FAIL_ON_WARNINGS from moz.build files, and
adds 78 instances of ALLOW_COMPILER_WARNINGS. About half of those 78 are in
code we control and which should be removable with a little effort.

--HG--
extra : rebase_source : 82e3387abfbd5f1471e953961d301d3d97ed2973
2015-08-27 20:44:53 -07:00
Cervantes Yu
3c09a9761d Bug 1166207 - Load preload.js in the Nuwa process. r=khuey
--HG--
extra : rebase_source : 292c5e5dbee5fa49a78fd1997d97094ef2190143
2015-08-28 17:57:44 +08:00
Seth Fowler
523787b5ca Bug 1181907 (Part 1) - Make it possible to use nsGenericHashKey with free functions. r=heycam 2015-08-26 18:19:31 -07:00
Chris Peterson
1416e566de Bug 1198124 - Enable -Wshadow in directories that have no -Wshadow warnings. r=glandium 2015-08-25 09:14:38 -07:00
Chris Peterson
6b261a1c9e Bug 1197563 - Polyfill __func__ for MSVC 2013 and earlier. r=froydnj 2015-08-20 23:39:18 -07:00
Alphan Chen
a7f16b9ea6 Bug 1154435 - [nsDumpUtil] Refine nsDumpUtils::OpenTempFile to make this function more flexible. r=dhylands
- Add one more mode in this function (CREATE/CREATE_UNIQUE)
- export the header file for the usage of other components
2015-06-04 14:47:09 +08:00
Miko Mynttinen
ba173ae5e4 Bug 1197316 - Remove PR_snprintf calls in xpcom/. r=froydnj 2015-08-22 17:57:52 -07:00
Kyle Huey
e5b6091772 Bug 1195755: Don't assert recursion depth sanity on Mac, because there is none. r=me
--HG--
extra : rebase_source : 6c0c24ead27200b30302828dea22c50219c79a2c
2015-08-21 19:56:56 -07:00
David Major
521d956cba Bug 1196370 - Remove the clang assembly workaround from bug 1028613. r=ehsan 2015-08-20 14:34:57 -07:00
Nicholas Nethercote
c8578157c2 Bug 1194061 - Implement "system-heap-allocated" reporter for Windows. r=dmajor.
--HG--
extra : rebase_source : a0f31c1ca1c6671d592c73d2473dcc5669022077
2015-08-19 20:35:17 -07:00
Xidorn Quan
9960d37ffb Bug 1196050 - Replace NSCAP_Zero usage with decltype(nullptr). r=froydnj
--HG--
extra : source : 9c567ed00fcf2433e484325bab9a18322718b0da
2015-08-20 10:30:10 +10:00
Bobby Holley
ef08c1794f Bug 1188976 - Improve MozPromise.h comment. r=me DONTBUILD 2015-08-19 17:13:45 -07:00
Honza Bambas
c0030e0da9 Bug 1188983 - mozilla::Tokenizer improvements, r=nfroyd
--HG--
extra : rebase_source : 8cfe594e6c320a9330f09b34d7d7018e023938da
2015-08-19 15:14:25 -07:00
Chris Manchester
f2dcab6039 Bug 1131325 - Move system country code from nsIGfxInfo2 to a more appropriate location. r=aklotz,smichaud
--HG--
extra : commitid : Jglg9X6ykB1
2015-07-28 15:45:34 -07:00
Xidorn Quan
9602783f5f Bug 1195154 - Replace operator overloads for comparing nsRefPtr to 0 with those for comparing to nullptr. r=froydnj 2015-08-19 11:06:05 -07:00
Nigel Babu
0005d3bf06 Backed out changeset 20c6f74296e2 (bug 1195154) for causing Bug 1196115
--HG--
extra : rebase_source : 59356f3ff488b4000e4f3034f9c676d4afe8b49f
2015-08-19 20:43:11 +05:30
Nathan Froyd
5588065ae9 Bug 1189829 - fix quadratic behavior in nsConsoleService; r=erahm 2015-08-17 21:05:48 -04:00
Xidorn Quan
aedc156767 Bug 1195154 - Replace operator overloads for comparing nsRefPtr to 0 with those for comparing to nullptr. r=froydnj
--HG--
extra : source : 3303e551336985eca8b501dcc12cf6f2dddbdec3
2015-08-19 09:09:08 +10:00
Bobby Holley
4ad57e8274 Bug 1195867 - Hoist StateWatching and StateMirroring into XPCOM. r=froydnj
--HG--
rename : dom/media/StateMirroring.h => xpcom/threads/StateMirroring.h
rename : dom/media/StateWatching.h => xpcom/threads/StateWatching.h
2015-08-18 15:37:06 -07:00
Michael Layzell
945c9a35f4 Bug 1195415 - Add asciiHostPort field to nsIURI, and use it in the implementation of nsPrincipal::GetOriginForURI, r=bholley 2015-08-18 14:52:24 -04:00
Arnaud Bienner
2755fa9a57 Bug 1190086 - Use new String::Contains(char) method more widely r=froydnj
--HG--
extra : rebase_source : 81df1495200d3734ea1c4c13818ae764a445f4b3
2015-08-14 00:49:15 +02:00
Bobby Holley
a663591994 Bug 1188976 - Hoist MozPromise into xpcom. r=froydnj
--HG--
rename : dom/media/MozPromise.h => xpcom/threads/MozPromise.h
2015-08-17 14:54:45 -07:00
Andrew McCreight
2da6cab23a Bug 1190483 - Followup to address review comment. 2015-08-14 10:04:41 -07:00
Andrew McCreight
066918123c Bug 1190483 - Add a way to record a DMD log late in shutdown. r=erahm 2015-08-14 10:00:04 -07:00
Andrew McCreight
d6c5ff450f Bug 1193564 - Check result of Read32 in nsSupportsArray::Read. r=erahm 2015-08-13 14:24:59 -07:00
Mike Conley
7421d14843 Bug 1106321 - Serialize DEVMODE down to the content process when printing on Windows. r=jimm
--HG--
extra : commitid : IhjNJOOtmms
extra : rebase_source : 6b0ba29e866dcf63a3054eb955ece082cbbeda13
extra : amend_source : 70bcf59b1f4b1d7a3a8ec4183b3b9710eedfb5f9
2015-08-06 17:36:54 -04:00
Nicholas Nethercote
01a073b5a2 Bug 828844 - Add a "system-heap-allocated" memory report on Linux. r=glandium.
This gives zero when jemalloc is enabled and non-zero when jemalloc is disabled
(e.g. I got 83 MiB at start-up, which sounds plausible).

--HG--
extra : rebase_source : f39a15472d48643f57a77f1df03e4a29543d0867
2015-08-12 17:44:00 -07:00
Francois Marier
34de332db0 Bug 992096 - Implement Sub Resource Integrity [1/2]. r=baku,r=ckerschb
Code changes
2015-08-12 20:19:11 -07:00
David Major
789b31656d Bug 1192844: Accept 0xCC padding in WindowsDllDetourPatcher::CreateTrampoline. r=m_kato
--HG--
extra : rebase_source : 6711e475036ea3fe98bb054b79e10ad8d54692fb
2015-08-12 13:10:04 -04:00
Aryeh Gregor
f29bc4307b Bug 1010756 - Helpful errors for using nsCOMPtr on non-XPCOM types; r=froydnj 2015-08-12 18:43:10 +03:00
Nicholas Nethercote
5b76d8f3b7 Bug 1181443 (part 3, attempt 2) - Remove nsTHashtable::EnumerateEntries(), which is no longer used. r=froydnj.
--HG--
extra : rebase_source : 232b65e93556a311efaf1f2e0b1aee0449b3838d
2015-07-23 02:37:26 -07:00
Nathan Froyd
3b0a318c70 Bug 1192230 - clean up reference-counting in xpcom/; r=erahm 2015-07-01 12:27:43 -04:00
Terrence Cole
2c05aff66d Bug 1193032 - Part 2: Make unlimited SliceBudget initialization explicit; r=ehoogeveen,r=mccr8 2015-08-11 08:42:24 -07:00
Birunthan Mohanathas
0527ccb54c Bug 1185763 - Part 4: Swap elements if possible in r-value version of nsTArray::AppendElements. r=froydnj 2015-08-11 08:29:46 -07:00
Birunthan Mohanathas
2b4a52cf2e Bug 1185763 - Part 3: Rename nsTArray::MoveElementsFrom to AppendElements. r=froydnj 2015-08-11 08:29:46 -07:00
Birunthan Mohanathas
5528f2d07d Bug 1185763 - Part 2: Remove non-rvalue version of nsTArray::MoveElementsFrom. r=froydnj 2015-08-11 08:29:46 -07:00
Kyle Huey
76e3009ab8 Bug 1179909: Refactor stable state handling. r=smaug
This is motivated by three separate but related problems:

1. Our concept of recursion depth is broken for things that run from AfterProcessNextEvent observers (e.g. Promises). We decrement the recursionDepth counter before firing observers, so a Promise callback running at the lowest event loop depth has a recursion depth of 0 (whereas a regular nsIRunnable would be 1). This is a problem because it's impossible to distinguish a Promise running after a sync XHR's onreadystatechange handler from a top-level event (since the former runs with depth 2 - 1 = 1, and the latter runs with just 1).

2. The nsIThreadObserver mechanism that is used by a lot of code to run "after" the current event is a poor fit for anything that runs script. First, the order the observers fire in is the order they were added, not anything fixed by spec. Additionally, running script can cause the event loop to spin, which is a big source of pain here (bholley has some nasty bug caused by this).

3. We run Promises from different points in the code for workers and main thread. The latter runs from XPConnect's nsIThreadObserver callbacks, while the former runs from a hardcoded call to run Promises in the worker event loop. What workers do is particularly problematic because it means we can't get the right recursion depth no matter what we do to nsThread.

The solve this, this patch does the following:

1. Consolidate some handling of microtasks and all handling of stable state from appshell and WorkerPrivate into CycleCollectedJSRuntime.
2. Make the recursionDepth counter only available to CycleCollectedJSRuntime (and its consumers) and remove it from the nsIThreadInternal and nsIThreadObserver APIs.
3. Adjust the recursionDepth counter so that microtasks run with the recursionDepth of the task they are associated with.
4. Introduce the concept of metastable state to replace appshell's RunBeforeNextEvent. Metastable state is reached after every microtask or task is completed. This provides the semantics that bent and I want for IndexedDB, where transactions autocommit at the end of a microtask and do not "spill" from one microtask into a subsequent microtask. This differs from appshell's RunBeforeNextEvent in two ways:
a) It fires between microtasks, which was the motivation for starting this.
b) It no longer ensures that we're at the same event loop depth in the native event queue. bent decided we don't care about this.
5. Reorder stable state to happen after microtasks such as Promises, per HTML. Right now we call the regular thread observers, including appshell, before the main thread observer (XPConnect), so stable state tasks happen before microtasks.
2015-08-11 06:10:46 -07:00
Bobby Holley
f97159c6b7 Bug 1190495 - Hoist TaskQueue into xpcom. r=froydnj
--HG--
rename : dom/media/TaskQueue.cpp => xpcom/threads/TaskQueue.cpp
rename : dom/media/TaskQueue.h => xpcom/threads/TaskQueue.h
2015-08-11 08:55:22 -04:00
Alfredo Yang
8c59fda383 Bug 1146086: use promise to Init() in PlatformDecoderModule. r=jya,r=cpearce 2015-08-11 14:09:12 +10:00
ffxbld
3188a80526 Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release 2015-08-10 12:20:42 -07:00
Bobby Holley
5bb15d3a58 Bug 1190492 - Hoist AbstractThread and TaskDispatcher to xpcom. r=froydnj
--HG--
rename : dom/media/AbstractThread.cpp => xpcom/threads/AbstractThread.cpp
rename : dom/media/AbstractThread.h => xpcom/threads/AbstractThread.h
rename : dom/media/TaskDispatcher.h => xpcom/threads/TaskDispatcher.h
2015-08-07 16:38:35 -07:00
Bobby Holley
a6c9a6255e Bug 1190492 - Init AbstractThread statics from XPCOM. r=froydnj 2015-08-07 16:38:34 -07:00
Nicholas Nethercote
0a97485195 Bug 1190735 - Remove nsITimer.TYPE_REPEATING_PRECISE. r=froydnj.
--HG--
extra : rebase_source : e4424bde52b0f90adbd328071f62b89193098d34
2015-08-04 17:30:53 -07:00
Nicholas Nethercote
deb1dc5d6b Backout 04a196339ca4 (bug 1181443, part 3) so that bug 1182961's patches can be backed out.
--HG--
extra : rebase_source : c2f49d0bfd6a82b35eeed73c0a88f60661c1defd
2015-08-06 16:28:13 -07:00
Andrew McCreight
12b6a0a427 Bug 1189423 - part 2 - Remove superfluous |new| result check. r=froydnj 2015-07-30 15:06:00 +02:00
Andrew McCreight
0869c89dae Bug 1189423 - part 1 - Add MOZ_COUNT_CTOR/DTOR for nsXPTCStubBase. r=froydnj 2015-08-04 14:30:00 +02:00
Nicholas Nethercote
2c850da1f5 Bug 1181443 (part 3) - Remove nsTHashtable::EnumerateEntries(), which is no longer used. r=froydnj.
--HG--
extra : rebase_source : f16a883725371524f0c63d72b09ae69df688673f
2015-07-23 02:37:26 -07:00
Botond Ballo
1ad5e05028 Bug 1056356 - Add support for nsRefPtr<const T>. r=froydnj
--HG--
extra : rebase_source : 7b86c6e7bc47c7b3ebc19075559cf0f7d24ededf
2015-08-05 13:52:06 -04:00
Aryeh Gregor
80ea0a3e53 Bug 1190823 - Move OwningNonNull.h to xpcom/base/; r=froydnj
--HG--
rename : dom/bindings/OwningNonNull.h => xpcom/base/OwningNonNull.h
2015-08-05 15:28:27 +03:00
Bobby Holley
ad1880d040 Bug 1191063 - Followup comments. r=me DONTBUILD 2015-08-04 17:36:06 -07:00
Birunthan Mohanathas
7315345693 Bug 1191100 - Remove XPIDL signature comments in .cpp files. r=ehsan
Comment-only so DONTBUILD.
2015-08-04 16:17:36 -07:00
Bobby Holley
b5a26b0b15 Bug 1190496 - Hoist SharedThreadPool into xpcom. r=froydnj
--HG--
rename : dom/media/SharedThreadPool.cpp => xpcom/threads/SharedThreadPool.cpp
rename : dom/media/SharedThreadPool.h => xpcom/threads/SharedThreadPool.h
2015-08-04 14:00:58 -07:00
Bobby Holley
e7a16a397c Bug 1190496 - Init SharedThreadPool from XPCOM rather than MediaDecoder. r=froydnj 2015-08-04 14:00:52 -07:00
James Cheng
315911c26e Bug 1189231 - Impl operator->* to nsAutoPtr. r=nfroyd 2015-07-30 21:02:00 -04:00
Nicholas Nethercote
d98d14fa1e Bug 1189156 (part 4) - Don't use enumeration style for nsBaseHashtable::SizeOf{In,Ex}cludingThis(). r=erahm,jfkthame.
After this change, we have ShallowSizeOf{In,Ex}cludingThis(), which don't do
anything to measure children. (They can be combined with iteration to measure
children.)

--HG--
extra : rebase_source : f98420176f50990bbc5a25e35788328154cfeb00
2015-07-30 21:19:57 -07:00
Nicholas Nethercote
1059c1de13 Bug 1189156 (part 2) - Don't use enumeration style for nsTHashtable::SizeOf{In,Ex}cludingThis(). r=erahm.
After this change, we have ShallowSizeOf{In,Ex}cludingThis(), which don't do
anything to measure children. (They can be combined with iteration to measure
children.)

And we still have the existing single-arg SizeOf{In,Ex}cluding() functions,
which work if the entry type itself defines SizeOfExcludingThis().

--HG--
extra : rebase_source : f93de9b789c21b1b148bed9de795f663f77c9dd9
2015-07-29 01:50:52 -07:00
Nicholas Hurley
16407ea724 Bug 1127618 - make push caches work in e10s. r=mcmanus r=froydnj IGNORE IDL
--HG--
extra : rebase_source : 24dd37c6eaec83a1776d77632b97106e8abb8015
2015-07-31 13:50:08 -07:00
Arnaud Bienner
52ee71547c Bug 1186603 - Add a "Contains" method for string classes and use it in HTMLInputElement. r=nfroyd 2015-07-30 19:45:25 +02:00
Jesse Ruderman
7ed9e0fe1b Bug 1024259: Use NS_FREE_PERMANENT_DATA more consistently. r=mccr8 2015-07-31 12:11:48 -07:00
Kyle Huey
8f1d6bf154 Bug 1152574: Fix console service discarding to run when it is actually safe to do so (off of inner-window-destroyed). Also add a backstop at xpcom-shutdown to discard any cycle collected messages before it is too late. r=froydnj
--HG--
extra : rebase_source : 689ed129fd8df604385dde4fe9d9477f14f2fced
2015-07-31 06:49:27 -07:00
Andrew McCreight
3127d66102 Bug 1189122 - Assert when we Suspect() when a CC scan is in progress. r=smaug
This can cause leaks that are invisible to our XPCOM leak detection system.

To avoid this, classes should not addref or release in their Traverse methods.

--HG--
extra : rebase_source : acd0b070c63cbb4111c165d6b131b8e3b822773a
2015-07-29 20:48:00 +02:00
Nicholas Nethercote
2d56c1f52e Bug 1189156 (part 1) - Don't use enumeration style for PLDHashTable::SizeOf{In,Ex}cludingThis(). r=froydnj.
After this change, we have PLDHashTable::ShallowSizeOf{In,Ex}cludingThis(),
which don't do anything to measure children. (They can be combined with
iteration to measure children.)

This patch also removes the PL_DHashTableSizeOf{In,Ex}cludingThis() functions.
They're not necessary because the methods can be used instead.

Finally, the patch deliberately converts some SizeOfExcludingThis() calls to
SizeOfIncludingThis(). These are all done on heap pointers so this change is
valid.

--HG--
extra : rebase_source : b1d51096a8e7dcac29d7efd92e28938836ff5481
2015-07-29 22:28:20 -07:00
James Cheng
9aed940662 Bug 975246 - Part2- Test Invoking via operator->*. r=nfroyd 2015-07-29 02:52:00 +02:00
Nicholas Nethercote
87b80f8c66 Bug 1188745 - Rename nsTArray::SizeOfExcludingThis() as ShallowSizeOfExcludingThis(). r=froydnj.
This makes it clearer that, unlike how SizeOf*() functions usually work, this
doesn't measure any children hanging off the array.

And do likewise for nsTObserverArray.

--HG--
extra : rebase_source : 6a8c8d8ffb53ad51b5773afea77126cdd767f149
2015-07-28 23:24:24 -07:00
Byron Campen [:bwc]
309a57122b Bug 1059572 - Part 2: Make absolutely sure a timer is removed before reinitting it. r=nfroyd
--HG--
extra : rebase_source : 9a952241e046321a25adf52167bd7a538d25f37a
2015-07-28 10:10:54 -05:00
Byron Campen [:bwc]
e145322168 Bug 1059572 - Part 1: Move PostTimerEvent to TimerThread to allow TimerThread's monitor to protect it. r=nfroyd
--HG--
extra : rebase_source : ec9623818cd1a5f3a2665a1c4af4be7869c0dec3
2015-07-22 12:39:34 -05:00
Byron Campen [:bwc]
0978da8e2c Bug 1059572 - Part 0.5: Fixes for pre-existing problems in TestTimers. r=nfroyd
--HG--
extra : rebase_source : c1b7e705e4a46f69f2567469ae54f866768de0a4
2015-07-29 11:43:40 -05:00
Byron Campen [:bwc]
e9930c8020 Bug 1059572 - Part 0: Fuzz test for timers. r=nfroyd
--HG--
extra : rebase_source : ca1e13f6b60ed61b190f8ace90d28f78e531e90b
2015-07-29 11:16:14 -05:00