Commit Graph

3071 Commits

Author SHA1 Message Date
Botond Ballo
2e2a504271 Bug 1119980 - Use 'snprintf' instead of 'sprintf' to avoid a warning on Lollipop-based builds. r=froydnj
--HG--
extra : source : 7468f9a3aa03520a29e138d4df431f0b5d90967c
2015-05-26 14:33:55 -04:00
Yanis Sellami
4562d9ef59 Bug 967031 - Rename DumpHeapComplete to DumpHeap; r=terrence 2015-05-22 11:22:56 +02:00
Phil Ringnalda
49dd872168 Back out 3 changesets (bug 1119980) for emulator-l bustage
CLOSED TREE

Backed out changeset 12ce98475c6e (bug 1119980)
Backed out changeset bdb8d05f8870 (bug 1119980)
Backed out changeset a68a18840492 (bug 1119980)
2015-05-25 18:48:51 -07:00
Botond Ballo
9934d127c1 Bug 1119980 - Use 'snprintf' instead of 'sprintf' to avoid a warning on Lollipop-based builds. r=froydnj
--HG--
extra : rebase_source : 4e915a12ba662ed45788238a5f0a45533888bd92
2015-05-25 20:45:17 -04:00
Terrence Cole
c01ef51c2d Bug 1167453 - Rename JSGCTraceKind and make it a C++11 enum class; r=jonco
--HG--
extra : rebase_source : 7dbeee0826fa20477ed227c9d336fdfe6de6ffd2
2015-05-22 10:40:24 -07:00
Eric Rahm
3925a960aa Bug 1165515 - Part 1: Convert PR_LOG to MOZ_LOG. r=froydnj 2015-05-21 13:22:04 -07:00
Eric Rahm
4879ae86f4 Bug 1165518 - Part 2: Replace prlog.h with Logging.h. rs=froydnj 2015-05-19 11:15:34 -07:00
Terrence Cole
161a4c26ba Bug 1164602 - Replace js::NullPtr and JS::NullPtr with nullptr_t; r=sfink 2015-05-13 14:07:34 -07:00
Andrew McCreight
807426185a Bug 1164587 - Get rid of Fault() in the cycle collector. r=smaug 2015-05-15 10:33:09 -07:00
Andrew McCreight
2d929a5569 Bug 1158558, part 2 - Finish incremental GCs in progress in BeginCollection() and ShutdownCollect(). r=smaug
Various parts of the first half of BeginCollection() can start an incremental GC.
This is bad because running the GC and CC at the same time can cause the CC to end
up with pointers to dead JS objects.

To avoid this, we finish any incremental GC in progress in BeginCollection. This
is slow, but hopefully it is rare.
2015-05-15 10:33:09 -07:00
Andrew McCreight
d68c95b07b Bug 1158558, part 1 - Expand time logging in BeginCollection. r=smaug 2015-05-15 10:33:09 -07:00
Andrew McCreight
454420c018 Bug 1163657 - Clean up setting of mFlags in CCGraphBuilder's ctor. r=smaug 2015-05-15 10:33:08 -07:00
Nicholas Nethercote
53bed9bec0 Bug 1163916 (part 1) - Avoid a static nsDebugImpl constructor. r=froydnj.
--HG--
extra : rebase_source : 59237ad74e97e8c5f839d302aef8d49d651b2d78
2015-05-13 16:47:55 -07:00
Andrew McCreight
ff3b670628 Bug 866681, part 2 - Make ContentUnbinder use DeferredFinalize. r=smaug 2015-05-13 12:48:52 -07:00
Andrew McCreight
c660ffa34b Bug 866681, part 1 - Track if any slice of CC was manually triggered. r=smaug 2015-05-13 12:48:52 -07:00
Ganesh Sahukari
b5a3345900 Bug 1155643 - Removed nsIDebug.idl, moved methods of nsIDebug to nsIDebug2. r=paolo 2015-05-07 10:58:37 +05:30
Jed Davis
a77ba18be9 Bug 1154053 - Limit concurrency of e10s memory reporting. r=erahm
This changes the way nsMemoryReporterManger handles child processes;
instead of using an observer message and trying to keep a count of child
processes expected to answer, it directly iterates a copy of the list
of content processes and explicitly handles children which exit before
their reports start.

Note that GC/CC logs still run at full concurrency, and that no child
reports start until the parent is finished (see bug 1151597) regardless
of concurrency limit.
2015-05-06 20:51:00 +02:00
Phil Ringnalda
c1284c6108 Back out e05936099653 (bug 1154053) on suspicion of causing the hellish frequency of Android 2.3 robocop-2 crashes that resulted in this CLOSED TREE, a=bustage 2015-05-07 22:41:26 -07:00
Jed Davis
bc4db515c0 Bug 1154053 - Limit concurrency of e10s memory reporting. r=erahm
This changes the way nsMemoryReporterManger handles child processes;
instead of using an observer message and trying to keep a count of child
processes expected to answer, it directly iterates a copy of the list
of content processes and explicitly handles children which exit before
their reports start.

Note that GC/CC logs still run at full concurrency, and that no child
reports start until the parent is finished (see bug 1151597) regardless
of concurrency limit.
2015-05-06 20:51:00 +02:00
Anton Myagkov
5c8a6334c3 Bug 1132558: Add Windows install year to telemetry; r=aklotz
--HG--
extra : rebase_source : 6184833bb9988426dbc9cf3aca9a5492c1b3eb40
extra : amend_source : a020b892b16d4a21845e6d94c3d6c5273017c67b
2015-04-22 21:28:43 +03:00
Boris Zbarsky
b8ba520783 Bug 1087330. Make the data structure we use for our promise microtask queue have O(1) first element removal, not O(N). r=khuey 2015-05-01 22:33:01 -04:00
Jean-Yves Avenard
341beecbae Bug 1155500: Have nsAutoPtr transfers ownership when copying related objects. r=froydnj
This emulates auto_ptr behavior.
2015-05-01 14:55:05 +10:00
Mike Hommey
924c9eb636 Bug 1134923 - Remove NS_Alloc/NS_Realloc/NS_Free. r=nfroyd
They are kept around for the sake of the standalone glue, which is used
for e.g. webapprt, which doesn't have direct access to jemalloc, and thus
still needs a wrapper to go through the xpcom function list and get to
jemalloc from there.
2015-05-01 09:40:30 +09:00
Jed Davis
05e38d787e Bug 1151597 - Step 2: Don't start child process memory reports until parent is finished. r=erahm
--HG--
extra : rebase_source : e271fd7997012d9f3eaff78c1dfff656347442be
2015-04-27 15:46:00 -04:00
Jed Davis
1b9d15f48d Bug 1151597 - Step 1: Change memory reporting IPC to send one report per message. r=erahm
Also fixes bug 1005154 -- since there's now a method for "end of report",
we might as well call it from ActorDestroy instead of Recv__delete__.

--HG--
extra : rebase_source : 89f467fbc553a1a3a4d9b144fff747fa3447f21b
2015-04-27 15:45:00 -04:00
David Major
ebde6b9f4f Bug 1157835: Remove the MSVC_ENABLE_PGO flag from the build system. r=glandium
--HG--
extra : rebase_source : 0c47c99bb8b92f8361a51fd81b20a2cc8647a986
2015-04-27 19:59:27 -04:00
Jed Davis
e7a9b7acc7 Bug 1154041 - Enable child process memory report logging by default on B2G. r=erahm 2015-04-24 14:53:00 -04:00
Nick Fitzgerald
b3ed721b3e Bug 1158257 - Gecko should always provide SpiderMonkey with a debuggerMallocSizeOf; r=mccr8 2015-04-27 10:58:24 -07:00
Andrew McCreight
76843426d0 Bug 1157304 - Make the empty classname assertion in BloatEntry fatal. r=froydnj 2015-04-27 10:28:19 -04:00
Brian Hackett
12ce37a8a6 Bug 1155033 - Handle cyclic or deep ObjectGroup tracing chains during cycle collection, r=terrence. 2015-04-24 18:22:15 -06:00
Andrew McCreight
0c176ddcff Bug 1062479 - Use static strings for WeakReference type names. r=ehsan 2015-04-24 09:43:01 -07:00
Andrew McCreight
6a3f08dba0 Bug 1116550 - Part 2: Print out negative values for leaks when there are more dtors than ctors. r=froydnj
--HG--
extra : rebase_source : 8aa1a8c1c562ae3a2277b9944852f1f7cc1aa18e
2015-04-22 17:20:00 -04:00
Andrew McCreight
cf5870400c Bug 1116550 - Part 1: Turn HaveLeaks and Clear into methods. r=froydnj
--HG--
extra : rebase_source : f033cdf0c00b5fd6d9c7b50581cd1f3fc19795a0
2015-04-22 17:18:00 -04:00
Kartikaya Gupta
cd5b55f8d6 Bug 1039866 - Rip out a bunch of metro-only code. r=jimm,gavin,rstrong 2015-04-23 15:10:30 -04:00
Andrew McCreight
43a628f9e3 Bug 1156982 - Add separators to BloatView output. r=froydnj
This will ensure we properly parse class names containing spaces.

Note that if a class name somehow ends up containing operator| then this will end up again silently failing.
2015-04-22 11:06:50 -07:00
Nick Fitzgerald
d67ed8553a Bug 1150253 - Part 2: Gecko should provide a callback for SpiderMonkey to
enqueue the onGarbageCollection hook runnable; r=mccr8
2015-04-22 09:43:02 -07:00
Andrew McCreight
a93ff220f9 Bug 1156977 - Assert when aClassName is empty in BloatEntry. r=froydnj 2015-04-22 08:56:30 -07:00
Nathan Froyd
ff82112704 Bug 1156790 - mark various nsCOMPtr_helper-esque classes as final; r=mccr8 2015-04-20 16:58:15 -04:00
Francois Marier
17b87281f2 Bug 1147212 - Add support for goog-unwanted-shavar. r=gcp,r=matej,r=smaug
--HG--
rename : toolkit/components/url-classifier/tests/mochitest/evilWorker.js => toolkit/components/url-classifier/tests/mochitest/unwantedWorker.js
extra : rebase_source : efe09564160fb2fcb1adb5f6599183f053268c40
2015-04-22 21:01:37 +12:00
Andrea Marchesini
ade2831035 Bug 1156632 - Remove unused forward class declarations - patch 6 - the rest of the tree, r=ehsan 2015-04-22 08:29:24 +02:00
Nathan Froyd
60776ece5a Bug 1095098 - followup - add back some static analysis attributes lost in a rebase; r=me 2015-04-20 16:17:00 -04:00
Denis Volk
32e981896d Bug 1095098 - move do_QueryObject templates into their own header; r=froydnj 2015-04-15 12:47:03 -04:00
Aryeh Gregor
044c421f96 Bug 1153649 part 3 - More OwningNonNull improvements; r=bz 2015-04-19 15:28:50 +03:00
Terrence Cole
5f83d02dfb Bug 1153959 - Use RAII to manage tracing details; r=jonco
--HG--
extra : rebase_source : 9b53b4106e369e62f6d7503a619da89559bd9c02
2015-04-10 13:33:56 -07:00
Andrew McCreight
e674d4f8f3 Bug 1154403 - Reduce incremental finalize slice time to 5ms. r=smaug
--HG--
extra : rebase_source : a7aba3cdad11a7e7e1ab4986a99eeaec5390d3a5
2015-04-15 08:04:00 +02:00
David Rajchenbach-Teller
b08ce98d2a Bug 1083361 - Exposing a PromiseDebugging API to monitor uncaught DOM Promise. r=bz
--HG--
extra : rebase_source : cba2fc37d263d431c3008739a89a4fe47d10b7da
2015-04-10 17:27:57 +02:00
Andrew McCreight
0dc13cb4a3 Bug 1152505 - CCGraphBuilder::NoteChild should pass aEdgeName by reference. r=smaug 2015-04-09 13:56:00 -04:00
Andrew McCreight
315f9bb7d2 Bug 1144649 - Make CCGraph::AddNodeToMap fallible again. r=smaug
Crashing here is apparently fairly common. This restores the old behavior, so we at least
don't crash immediately, but instead enter a slow downward spiral of leaking.

This improves on the old behavior in that we only try and fail to grow the hash table once,
rather than on every add.  khuey I think reported that the browser got very slow, because
you are going through the very slowest path of the allocator over and over.
2015-04-09 16:00:00 -04:00
Andrew McCreight
1e0f87e27d Bug 1151541, part 2 - Fix mode lines in xpcom/. r=froydnj 2015-04-09 10:25:05 -07:00
Andrew McCreight
bc9d4b1de6 Bug 1151541, part 1 - Add MPL2 to StaticMutex.h and stub_test.cpp. r=froydnj 2015-04-09 10:25:05 -07:00
Andrew McCreight
0854423afa Bug 1150917 - Remove all values from nsIProgrammingLanguage except UNKNOWN and JAVASCRIPT. r=froydnj 2015-04-08 17:16:30 -07:00
Randall Barker
c236b48231 Bug 1093934 - Create a XPCOM library that can be used to support standalone WebRTC. r=nfroyd
--HG--
extra : rebase_source : 93f11457b16b344e148a6fcb924b286ef8a48051
2015-04-03 15:52:00 +02:00
Mark Finkle
e10472f6d0 Bug 1149094 r=blassey 2015-04-06 14:42:52 -04:00
Wes Kocher
e226c762ee Backed out changeset 0f5799df920b (bug 1093934) for various test failures CLOSED TREE
--HG--
extra : amend_source : 047ed43008cea68775c544cdf0df2819cfb24589
2015-04-02 13:42:34 -07:00
Randall Barker
683155c363 Bug 1093934 - Create a XPCOM library that can be used to support standalone WebRTC r=froydnj 2015-04-02 12:12:37 -07:00
Mike Hommey
eefb5ea1cf Bug 1134920 - Remove nsMemory::Alloc/Realloc/Free. r=nfroyd 2015-04-01 13:51:46 +09:00
Mike Hommey
b077d9624d Bug 1134920 - Use moz_xmalloc/moz_xrealloc/free instead of nsMemory::Alloc/Realloc/Free. r=nfroyd 2015-04-01 13:51:45 +09:00
Mike Hommey
c39e359c7d Bug 1138293 - Use malloc/free/realloc/calloc instead of moz_malloc/moz_free/moz_realloc/moz_calloc. r=njn
The distinction between moz_malloc/moz_free and malloc/free is not
interesting. We are inconsistent in our use of one or the other, and
I wouldn't be surprised if we are mixing them anyways.
2015-03-31 12:32:49 +09:00
Andrea Marchesini
e6f385fb3d Bug 1148527 - Indentation fix after bug 1145631, r=ehsan 2015-03-27 18:52:19 +00:00
Terrence Cole
dd4ddb761b Bug 1135985 - Split callback and marking tracers completely; r=jonco, r=mccr8
--HG--
extra : rebase_source : b2e435ebf64ec0bac42af7a8f0968578599fd67b
2015-02-25 13:11:37 -08:00
Ehsan Akhgari
883849ee32 Bug 1145631 - Part 1: Replace MOZ_OVERRIDE and MOZ_FINAL with override and final in the tree; r=froydnj
This patch was automatically generated using the following script:

function convert() {
echo "Converting $1 to $2..."
find . \
       ! -wholename "*/.git*" \
       ! -wholename "obj-ff-dbg*" \
         -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 MOZ_OVERRIDE override
convert MOZ_FINAL final
2015-03-21 12:28:04 -04:00
Nicholas Nethercote
b5b1a4609e Bug 1145007 (part 2) - Add a "resident-peak" distinguished amount and memory reporter on Unix. r=erahm.
--HG--
extra : rebase_source : 3fb7c2020d3abd29fdbf8042a0932b24d92b234b
2015-03-19 15:16:37 -07:00
Andrew McCreight
468e063778 Bug 1137536, part 3 - Move the top level DeferredFinalize functions into their own file. r=smaug 2015-03-18 11:36:03 -07:00
Andrew McCreight
fc0fb081b0 Bug 1137536, part 1 - Move DeferredFinalize out of the cyclecollector namespace. r=smaug 2015-03-18 11:36:03 -07:00
Daniel Holbert
082fd9cd7f Bug 1142841: Convert all nsRefPtr<nsIRunnable> to nsCOMPtr<nsIRunnable>. r=ehsan
This patch was generated by a script.  Here's the source of the script for
future reference:

find . \( -iname "*.cpp" -o -iname "*.h" \) | \
  xargs -n 1 sed -i "s/nsRefPtr<nsIRunnable>/nsCOMPtr<nsIRunnable>/g"
2015-03-17 09:29:17 -07:00
Markus Stange
f3eca43eb6 Bug 1137963 - Use a spin lock for TraceRefCnt. r=waldo, r=froydnj 2015-03-17 00:18:25 -04:00
Nathan Froyd
46bf91f4be Bug 1142074 - remove NS_{IMPORT,EXPORT}_STATIC_MEMBER_; r=bsmedberg
These have been unused for quite some time, and we have other ways of
flagging static variables for export/import now.  Whatever GCC bugs
necessitated these macros are long gone as well.
2015-03-11 10:57:06 -04:00
Nathan Froyd
4380a42bbc Bug 1141689 - use services::GetObserverService more; r=ehsan 2014-04-29 13:31:06 -04:00
Andrew McCreight
def1230d4e Bug 1119482, part 4 - Move IsJSHolder into HoldDropJSObjects. r=smaug 2015-03-10 16:41:38 -07:00
Andrew McCreight
2cf438367a Bug 1119482, part 3 - Move the Hold and DropJSObjects implementations to a new HoldDropJSObjects.cpp file. r=smaug 2015-03-10 16:41:38 -07:00
Andrew McCreight
ea55946825 Bug 1119482, part 2 - Move HoldDropJSObjects.h from xpcom/glue to xpcom/base. r=froydnj
This will clear the way for a HoldDropJSObjects.cpp, as xpcom/glue seems to use weird linking rules.

--HG--
rename : xpcom/glue/HoldDropJSObjects.h => xpcom/base/HoldDropJSObjects.h
2015-03-10 16:41:38 -07:00
Andrew McCreight
a5fe5ce48e Bug 1119482, part 1 - Use CycleCollectedJSRuntime::Get() in the various CC wrapper methods. r=smaug
It is a little cleaner to use this helper method if we only care about the CCJSRuntime pointer,
and it will let us move some of these methods out of this file more easily.
2015-03-10 16:41:38 -07:00
Andrew McCreight
3367b6f363 Bug 1139050, part 2 - Move nsAlgorithm.h to xpcom/base. r=froydnj
--HG--
rename : xpcom/string/nsAlgorithm.h => xpcom/base/nsAlgorithm.h
2015-03-10 16:41:38 -07:00
Andrew McCreight
b1093185b2 Bug 1114804 - Make ISupports use the standard deferred finalizer code. r=peterv 2015-03-10 08:35:47 -07:00
Mike Hommey
ad8f212161 Bug 1139361 - Remove gTLSThreadID*, NS_TLS and mozilla::threads::ID. r=nfroyd 2015-03-10 11:10:58 +09:00
Jed Davis
19355a43d5 Bug 1137007 - Detect namespace and SECCOMP_FILTER_FLAG_TSYNC support in SandboxInfo. r=kang, r=Unfocused
Currently, only user namespace support is detected.  This is targeted at
desktop, where (1) user namespace creation is effectively a prerequisite
for unsharing any other namespace, and (2) any kernel with user
namespace support almost certainly has all the others.

Bonus fix: remove extra copy of sandbox flag key names in about:support;
if JS property iteration order ever ceases to follow creation order, the
table rows could be permuted, but this doesn't really matter.
2015-03-06 13:59:00 -05:00
Phil Ringnalda
d5d934be28 Merge f-t to m-c, a=merge 2015-03-07 19:38:53 -08:00
Paolo Amadini
f638425f9d Bug 1140435 - Part 2 - Allow JS code to provide an async stack when calling a function. r=bz 2015-03-07 13:30:34 +00:00
Paolo Amadini
6652a00032 Bug 1140435 - Part 1 - Add the asyncCause and asyncCaller properties to nsIStackFrame. r=bz 2015-03-07 13:30:34 +00:00
Boris Zbarsky
e0532c037e Bug 1122238 part 3. Drop all the DOMException-cloning and sanitization gunk we added in bug 1107592 and bug 1107953 and bug 1117242 . r=bholley 2015-03-06 01:08:06 -05:00
Boris Zbarsky
05aaddd360 Bug 1131805 part 1. Remove remaining JS_GetParent and js::GetObjectParent uses in Gecko. r=bholley 2015-03-06 16:33:31 -05:00
Andrew McCreight
467633fff8 Bug 1138616, part 3 - Add a faster bloatlog-only mode. r=dbaron 2015-03-04 16:13:54 -08:00
Andrew McCreight
2eb20e5c7f Bug 1138616, part 2 - Inline BloatEntry::AddRef and ::Release. r=dbaron 2015-03-04 16:13:54 -08:00
Andrew McCreight
004ce2f71c Bug 1138616, part 1 - Remove nsTraceRefcntStats::mAddRefs and ::mReleases. r=dbaron 2015-03-04 16:13:54 -08:00
Andrew McCreight
115ce41650 Bug 1073594, part 4 - Remove nsTraceRefcntStats::mObjsOutstanding{Total, Squared}. r=dbaron
They are now unused.
2015-03-04 14:07:59 -08:00
Andrew McCreight
077e5aef7b Bug 1073594, part 3 - Remove the mean and stddev for BloatLog object counts. r=dbaron 2015-03-04 14:07:59 -08:00
Andrew McCreight
3bec966a54 Bug 1073594, part 2 - Remove nsTraceRefcntStats::mRefsOutstanding{Total, Squared}. r=dbaron
They are now unused.
2015-03-04 14:07:59 -08:00
Andrew McCreight
530c64e1b0 Bug 1073594, part 1 - Remove mean and stddev for BloatView addrefs and releases. r=dbaron 2015-03-04 14:07:59 -08:00
Boris Zbarsky
8346b9dfaf Bug 928336. Make defining unforgeable properties on objects faster by just copying them from an unforgeable holder object. r=peterv 2015-03-03 21:01:58 -05:00
Nicholas Nethercote
237067b8b5 Bug 1138770 - Make memory reporters that have been stashed for testing eligible for unregistration. r=mccr8.
--HG--
extra : rebase_source : 06dcca55a7a47e02d9b43289472c76b810663727
2015-03-02 18:55:42 -08:00
Andrew McCreight
e4d15a45bb Bug 1135773 - Initialize QI return values to null in the cycle collector. r=smaug 2015-02-25 09:44:10 -08:00
Nicholas Nethercote
285d84d141 Bug 1134030 - Add WindowsAddressSpaceReporter. code=njn,dmajor. r=dmajor,njn. 2015-02-20 13:13:16 +11:00
Boris Zbarsky
9e8395b4c9 Bug 742194 part 1. Add support for throwing uncatchable exceptions to Web IDL bindings. People keep asking for this. r=khuey 2015-02-20 23:58:36 -05:00
Andrew McCreight
8ad291fb4d Bug 1130142, part 4 - Use reinterpret_cast for PR_SetThreadPrivate. r=froydnj 2015-02-20 09:38:47 -08:00
Andrew McCreight
af29279350 Bug 1130142, part 3 - Use HashNumber method in more places in trace refcounting. r=froydnj
This should not change any behavior.
2015-02-20 09:38:47 -08:00
Andrew McCreight
138983aa4c Bug 1130142, part 2 - Don't explicitly coerce pointer to bool in nsTraceRefCnt. r=froydnj 2015-02-20 09:38:47 -08:00
Andrew McCreight
d0ba9119f7 Bug 1130142, part 1 - Don't truncate pointers to 32-bit values in refcount logging. r=froydnj 2015-02-20 09:38:46 -08:00
Trevor Saunders
99d941db3c bug 1133075 - add more MOZ_OVERRIDE r=froydnj, waldo, jrmuizel 2015-02-18 17:03:30 -05:00
Boris Zbarsky
3aff974cb2 Bug 1117242 followup. Rev the nsIStackFrame IID so things get rebuilt correctly. r=bustage 2015-02-13 20:24:20 -05:00
Nick Fitzgerald
ead84e4acf Bug 1117242 - SavedFrame objects should do principal checks for every accessor; r=jimb,jandem,bz 2015-02-13 09:21:50 -08:00
Nicholas Nethercote
fa624bca8a Bug 1131901 (part 2) - Make CCGraphBuilder::AddNode() infallible. r=mccr8.
--HG--
extra : rebase_source : cfbef5e7c783c1abb1e9bb69dcc5ef14d3c96369
2015-02-02 23:58:42 -08:00
Nicholas Nethercote
3a7b0a9f57 Bug 1131901 (part 1) - Make PL_DHashTableAdd() infallible by default, and add a fallible alternative. r=froydnj.
I kept all the existing PL_DHashTableAdd() calls fallible, in order to be
conservative, except for the ones in nsAtomTable.cpp which already were
followed immediately by an abort on failure.

--HG--
extra : rebase_source : 526d96ab65e4d7d71197b90d086d19fbdd79b7b5
2015-02-02 14:48:58 -08:00
Nicholas Nethercote
63e3218e4c Back out changesets 2fcef6b54be7, 2be07829fefc, 66dfe37b8532, df3fcd2be8fd, 0a436bce77a6 (bug 1050035) for causing intermittent crashes and assertion failures.
--HG--
extra : rebase_source : eb30be83c3143c6c203585a80a18f180025efaba
2015-02-10 14:39:49 -08:00
Bobby Holley
fa0e01bfea Bug 1129877 - Add a templatized move constructor for nsRefPtr. v1 r=froydnj 2015-02-10 13:45:02 -08:00
Nicholas Nethercote
242708cf72 Bug 1127201 (attempt 2, part 1) - Replace most NS_ABORT_IF_FALSE calls with MOZ_ASSERT. r=Waldo.
--HG--
extra : rebase_source : 488e401ff87e31a2074c4108c4df0572d9536667
2015-02-09 14:34:50 -08:00
Andrew McCreight
d3826daa16 Back out Bug 1127201 (part 2) for various problems. 2015-02-06 15:04:32 -08:00
Andrew McCreight
aec1aac3c6 Bug 1125005 - Change the reentrance assertion in IncrementalFinalizeRunnable to a warning. r=smaug 2015-02-06 09:54:21 -08:00
Dhi Aurrahman
5b8f79fc23 Bug 1125766 - Throw proper error types for TextEncoder(), TextDecoder() and TextDecoder.decode(). r=bz 2015-02-04 18:46:26 +07:00
Nicholas Nethercote
d34f0301b8 Bug 1127201 (part 2) - Convert all NS_ABORT_IF_FALSE calls to MOZ_ASSERT. r=Waldo.
--HG--
extra : rebase_source : 99182e70335d2b5ff95f8c528ae992d37294be3a
2015-02-04 20:05:36 -08:00
Nicholas Nethercote
66223ceeb0 Bug 1050035 (part 5) - Make CCGraphBuilder::AddNode() infallible. r=mccr8.
--HG--
extra : rebase_source : 4ebe842e419f8b887b9e9b98f97c17fe103039bc
2015-02-02 23:58:42 -08:00
Nicholas Nethercote
b5913e0b3d Bug 1050035 (part 4) - Make PL_DHashTableAdd() infallible by default, and add a fallible alternative. r=froydnj.
I kept all the existing PL_DHashTableAdd() calls fallible, in order to be
conservative, except for the ones in nsAtomTable.cpp which already were
followed immediately by an abort on failure.

--HG--
extra : rebase_source : eeba14d732077ef2e412f4caca852de6b6b85f55
2015-02-02 14:48:58 -08:00
Masatoshi Kimura
c10ac9defc Bug 1128273 - Stop using |typedef enum class tag_nsresult { ... } nsresult;| trick. r=froydnj 2015-02-02 23:44:25 +09:00
Mike Hommey
a35dbaeebf Bug 1126593 - Add a global fallible instance, so that using fallible works directly, everywhere. r=njn
--HG--
rename : memory/mozalloc/fallible.h => memory/fallible/fallible.h
2015-02-02 09:56:13 +09:00
Masatoshi Kimura
ef6e024c45 Bug 1126269 - Part 3: Always use the C++11 enum class for nsresult. r=froydnj 2015-01-30 08:53:47 +09:00
Ben Kelly
2ebbf80a47 Bug 1126985 Fix xpcom/base build with --enable-warnings-on-errors. r=froydnj 2015-01-28 15:11:18 -05:00
Nicholas Nethercote
3163cfc2c1 Bug 1124973 (part 2) - Introduce PL_DHashTableSearch(), and replace most PL_DHashTableLookup() calls with it. r=froydnj.
It feels safer to use a function with a new name, rather than just changing the
behaviour of the existing function.

For most of these cases the PL_DHashTableLookup() result was checked with
PL_DHASH_ENTRY_IS_{FREE,BUSY} so the conversion was easy. A few of them
preceded that check with a useless null check, but the intent of these was
still easy to determine.

I'll do the trickier ones in subsequent patches.

--HG--
extra : rebase_source : ab37a7a30be563861ded8631771181aacf054fd4
2015-01-22 21:06:55 -08:00
Daniel Holbert
98fd7110d5 Bug 1125632 followup: Mark remaining CollectReports impls in nsMemoryReporterManager.cpp and SystemMemoryReporter.cpp as MOZ_OVERRIDE. 2015-01-27 09:48:54 -08:00
Chris Peterson
7251d442c0 Bug 1125693 - Fix -Wformat warning in xpcom/base/nsStackWalk.cpp and mark as FAIL_ON_WARNINGS. r=njn 2015-01-25 13:49:06 -08:00
Daniel Holbert
8ccda8f49a Bug 1125632: Annotate ResidentUniqueReporter::CollectReports as MOZ_OVERRIDE. r=njn 2015-01-25 15:14:00 -08:00
Masatoshi Kimura
6cc5dabbee Bug 1111290 - Part 3: Remove TypedEnum.h and fold TypedEnumInternal.h into TypedEnumBits.h. r=waldo 2015-01-26 07:22:11 +09:00
Masatoshi Kimura
86502e6537 Bug 1111290 - Part 2: Non-mechanical changes. r=waldo 2015-01-26 07:22:08 +09:00
Andrew McCreight
c9ef92b837 Bug 1120495 - Don't assert if FinishAnyCurrentCollection reenters during CleanupPhase. r=smaug 2015-01-21 14:35:54 -08:00
Nicholas Nethercote
af2a8de28a Bug 1123533 - Clarify thread handling in NS_StackWalk() on Windows. r=ehsan.
- The way NS_StackWalk() sets up |targetThread| and |data.walkCallingThread| is
  hard to read.

- The name |shouldBeThreadSafe| is unclear -- for a long time I thought it
  meant "we are thread-safe, so we can print" and I thought it was named
  incorrectly. But now I see it actually means the opposite, i.e. "we need to
  be thread-safe, so we can't print". So |needToBeThreadSafe| would be
  clearer...

- ...but |shouldBeThreadSafe| shouldn't be used anyway, because
  |data.walkCallingThread| is better -- it correctly handles the case where
  |aThread| is the current thread -- and it's what WalkStackMain64() uses.

This patch fixes these problems.

--HG--
extra : rebase_source : f1310f72db1e10c25e77af54a1d6df4114e59314
2015-01-19 19:19:55 -08:00
Masatoshi Kimura
9656ec51c3 Bug 895582 - Get rid of MOZ_ENUM_TYPE. r=waldo 2015-01-21 22:35:19 +09:00
Nicholas Nethercote
8bd1f6f072 Bug 1123151 (part 2) - Add PLDHashTable::IsInitialized(). r=froydnj.
This encapsulates most of the uses of PLDHashTable::ops.

--HG--
extra : rebase_source : 7760ce8e46a37e87dcfe590e809a21df01fe510f
2015-01-19 16:11:34 -08:00
Nicholas Nethercote
bd573c9b9c Bug 1123151 (part 1) - Set PLDHashTable::ops consistently. r=froydnj.
Currently the setting of PLDHashTable::ops is very haphazard.

- PLDHashTable has no constructor, so it's not auto-nulled, so lots of places
  null it themselves.

- In the fallible PLDHashTable::Init() function, if the entry storage
  allocation fails we'll be left with a table that has |ops| set -- indicating
  it's been initialized -- but has null entry storage. I'm not certain this can
  cause problems but it feels unsafe, and some (but not all) callers of Init()
  null it on failure.

- PLDHashTable does not null |ops| in Finish(), so some (but not all) callers
  do this themselves.

This patch makes things simpler.

- It adds a constructor that zeroes |ops|.

- It modifies Init() so that it only sets |ops| once success is ensured.

- It zeroes |ops| in Finish().

- Finally, it removes all the now-unnecessary |ops| nulling done by the users
  of PLDHashTable.

--HG--
extra : rebase_source : bb34979c218d152562a2f9c7e5215256c111cc5b
2015-01-19 16:01:24 -08:00
Trevor Saunders
6c486b0407 bug 1122100 - more MOZ_OVERRIDE in xpcomish stuff r=froydnj 2015-01-19 17:41:12 -05:00
Ehsan Akhgari
fa5c39586f Bug 1123121 - Mark all nsCOMPtr_helper classes as stack class; r=froydnj 2015-01-19 12:39:36 -05:00
Ehsan Akhgari
4f8f88a90d Bug 1122999 - Mark the fOuter member defined by NS_DECL_AGGREGATED as unsafe; r=froydnj 2015-01-19 10:00:32 -05:00
Ehsan Akhgari
aa32fa615f Bug 1123110 - Clarify the ownership of several cycle collector members; r=mccr8 2015-01-18 18:43:02 -05:00
Cameron McCormack
5f39b00c79 Bug 1120047 - Fix glibc version check guards for and importing of __libc_stack_end. r=glandium 2015-01-17 15:02:01 +11:00
Nicholas Nethercote
a479e9ccad Bug 1121830 - DMD: add "num" property to blocks in the output. r=mccr8.
The new "num" property lets identical blocks be aggregated in the output. This
patch only uses the "num" property for dead blocks, because that's where the
greatest potential benefit lies, but it could be used for live blocks as well.

On one test case (a complex PDF file) running with --mode=cumulative
--sample-below=1 this patch had the following effects.

- Change in running speed was negligible.

- Compressed output file size dropped from 8.8 to 5.0 MB.

- Compressed output file size dropped from 297 to 50 MB.

- dmd.py runtime (without stack fixing) dropped from 30 to 8 seconds.

--HG--
extra : rebase_source : 46a32058cd5c31cd823fe3f1accb5e68bcd320f3
2015-01-15 20:38:38 -08:00
Nicholas Nethercote
059cf96c41 Bug 1122337 - Mark DMD directories as FAIL_ON_WARNINGS. r=glandium.
The DEFINES and XPCOM_API changes are needed to get rid of "inconsistent dll
linkage" warnings on Windows builds.

--HG--
extra : rebase_source : 00756f51ebee85c70f65d51dbac17b4835262697
2015-01-15 21:17:18 -08:00
Birunthan Mohanathas
2e11419734 Bug 1060696 - Remove nsISupportsObsolete.h. r=froydnj 2015-01-16 07:34:51 +02:00
Nicholas Nethercote
69fe655b04 Bug 1121304 (part 2, attempt 2) - Remove PLDHashTableOps::{alloc,free}Table. r=froydnj.
--HG--
extra : rebase_source : bc119bd0d3b6944e8c5a000950e0c4052cb70aef
2015-01-14 14:35:56 -08:00
Boris Zbarsky
6a93d5c443 Bug 1107953 part 5. Add tests for promise rejections with content-side DOMExceptions, and fix the promise code so those tests actually pass. r=bholley 2015-01-15 17:39:02 -05:00
Phil Ringnalda
e39f0adeca Backed out 2 changesets (bug 1121304) for consistent b2g hangs in webgl-color-test.html?frame=1&__&preserve&premult&_____
Backed out changeset 20651ac19549 (bug 1121304)
Backed out changeset 758afec77c95 (bug 1121304)
2015-01-14 22:02:23 -08:00
Nicholas Nethercote
e9735966fa Bug 1121304 (part 2) - Remove PLDHashTableOps::{alloc,free}Table. r=froydnj. 2015-01-14 14:35:56 -08:00
Nicholas Nethercote
47221bc7f9 Bug 1120476 (part 4) - Remove PLDHashTableOps::finalize. r=froydnj.
--HG--
extra : rebase_source : b14dda8cdd5cd896d1e32950e38b2a9f7da4d99e
2015-01-13 19:02:35 -08:00
Nicholas Nethercote
c7538c9776 Bug 1120476 (part 3) - Remove PLDHashTable::data. r=froydnj.
--HG--
extra : rebase_source : 24d10af3dbce3ada5252503bc80bb1a4e31bc1c9
2015-01-13 16:42:13 -08:00
Brian Smith
ea66053341 Bug 1119776, Part 7: Avoid defining snprintf when MSVC provides it (other), r=bsmedberg
--HG--
extra : rebase_source : 3fc7e4e83f57252e15cf32846f23e497f8532ea5
2015-01-08 22:35:33 -08:00
Masatoshi Kimura
bf312ad056 Bug 1120062 - Part 1: Remove most Nullptr.h includes. r=waldo 2015-01-11 11:34:52 +09:00
Jim Chen
db34c64f29 Bug 1116589 - Use templated JNI classes in generated bindings; r=snorp 2015-01-09 19:33:57 -05:00
James Willcox
352dabf6d6 bug 1118552 - fix gcc4.9 warnings on Android r=glandium 2015-01-06 22:20:46 -05:00
Andrew McCreight
74718f3dd4 Bug 1119449 - Disable unified compilation of nsStackWalk.cpp to avoid OSX issue. r=ehsan 2015-01-09 12:41:50 -08:00
Nicholas Nethercote
05ce5cbc4a Bug 1088343 (part 1) - Get NS_StackWalk working on Win64. r=aklotz.
--HG--
extra : rebase_source : 9b8262bba126a98b2c5007ee8e149f92e702f5a7
2015-01-08 16:00:07 -08:00
Nicholas Nethercote
0c3e01557d Bug 1088343 (part 0) - Clean up the windows implementation of NS_StackWalk a little. r=ehsan.
--HG--
extra : rebase_source : fb31dbf446f5485e5aea6b22687e32ff595efb0b
2015-01-08 15:13:21 -08:00
Ehsan Akhgari
4354953b4f Bug 1118486 - Part 1: Use = delete instead of MOZ_DELETE directly; r=Waldo
Most of this patch (with the exception of dom/bindings/Codegen.py) was
generated by the following bash script:

#!/bin/bash

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*/.hg*" \
       ! -wholename "*/.git*" \
       ! -wholename "obj-*" \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -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 MOZ_DELETE '= delete'
2015-01-08 23:19:05 -05:00
Andrew McCreight
82f576b6d9 Bug 1118044, part 2 - Use GCCellPtr in NoteJSChild. r=smaug,terrence
Also, strongly type the JS_TraceShapeCycleCollectorChildren function, and add an
isShape() method to GCCellPtr.
2015-01-08 15:30:54 -08:00
Andrew McCreight
37e6ea860b Bug 1118044, part 1 - Use GCCellPtr in CycleCollectedJSRuntime::TraverseGCThing. r=smaug 2015-01-08 15:30:54 -08:00