Commit Graph

13203 Commits

Author SHA1 Message Date
Nathan Froyd
e0f61bdabc Bug 1095541 - part 3 - remove nsCOMPtr.h #include from nsRefPtr.h; r=bsmedberg 2014-11-07 11:18:19 -05:00
Nathan Froyd
7873eb0325 Bug 1095541 - part 2 - move already_AddRefed to its own header file; r=bsmedberg 2014-11-07 11:17:41 -05:00
Nathan Froyd
e9b66eb44d Bug 1095541 - part 1 - move nsRefPtr nsCOMPtr_helper overloads out-of-line; r=bsmedberg
Doing this means that instantiations of nsRefPtr<T> won't require
nsCOMPtr_helper::operator() to be defined.  Only actual uses of the
overloads will require the definition.
2014-11-07 11:16:54 -05:00
Nathan Froyd
e07aa30b4b Bug 1097861 - make CycleCollectionNoteChild more easily forward-declarable; r=mccr8
Forward declaring functions with default arguments is difficult.  If you try to say:

template<typename T>
inline void
CycleCollectionNoteChild(nsCycleCollectionTraversalCallback& aCallback,
                         T* aChild, const char* aName, uint32_t aFlags);

and then later have:

template<typename T>
inline void
CycleCollectionNoteChild(nsCycleCollectionTraversalCallback& aCallback,
                         T* aChild, const char* aName, uint32_t aFlags = 0);
{
  ...
}

the compiler complains that default arguments cannot be added to a
function template that has already been declared.  If you attempt to
mollify the compiler by declaring instead:

template<typename T>
inline void
CycleCollectionNoteChild(nsCycleCollectionTraversalCallback& aCallback,
                         T* aChild, const char* aName, uint32_t aFlags = 0);

the compiler then complains about redefining the default argument (!)
when an actual definition is found.

To circumvent this, manually implement "default" arguments by providing
a three-argument form of CycleCollectionNoteChild, which simply forwards
to the four-argument version.
2014-11-12 15:22:32 -05:00
Mike Hommey
486629b635 Bug 1097506 - Pass a JSONWriteFunc to dmd::AnalyzeReports instead of a JSONWriter. r=njn
The interesting feature JSONWriteFunc has, contrary to JSONWriter, is that it
only has virtual methods, which makes it a better candidate to be passed
around between libraries not linked against each other.

This will allow to make dmd and libxul independent from each other.
2014-11-13 09:24:28 +09:00
Aaron Klotz
91000480d2 Bug 1090389: Ensure that IOInterposer normalizes to long file names on Windows; r=froydnj 2014-11-12 14:01:45 -07:00
David Major
e8c22c1b15 No bug - add a comment to clarify the code. DONTBUILD
--HG--
extra : rebase_source : 3d38a9aa2fde585951ffaadaecf76422cf0dcab5
2014-11-13 08:57:09 +13:00
David Major
5b3f9cf5f2 Bug 1097283: Fix count/byte mismatches in NS_ABORT_OOM calls. r=froydnj
--HG--
extra : rebase_source : a9f4ae9e6f05e5ade56b741fa2f110974c5f08ac
2014-11-12 21:13:44 +13:00
David Major
eb013f5d4d Backed out changeset 8a4595cc5ec4 for Linux build failure on a CLOESD TREE
just kidding it's a CLOSED TREE

--HG--
extra : rebase_source : 163a9bff0ad836095057d5911b792c34517d14cc
2014-11-12 17:19:15 +13:00
David Major
71f98009f0 Bug 1097283: Fix count/byte mismatches in NS_ABORT_OOM calls. r=froydnj
--HG--
extra : rebase_source : b24e0b9d2e491ace3c045ee6b01e36b33c3ac21d
2014-11-12 15:42:53 +13:00
Nicholas Nethercote
6b3fdce6bc Bug 1096624 - Use a SegmentedArray in nsCycleCollector::CollectWhite. r=smaug.
This patch does the following.

- Moves the logic for computing the ideal capacity for a SegmentedArray out of
  SnowWhiteKiller into its own class, SegmentedArrayCapacity.

- Replaces the nsTArray in CollectWhite(), which can be very large and is
  complicit in ~1% of OOM crashes, with a SegmentedArray.

--HG--
extra : rebase_source : 732743311a08fcc3dfe43a1b308846b93d30e6ed
2014-11-11 16:02:34 -08:00
Nathan Froyd
03dbe73deb Bug 1097271 - remove unused ptr variable from nsClassHashtable::RemoveAndForget; r=mccr8 2014-11-11 16:47:29 -05:00
Andrew McCreight
86f277bb36 Bug 1093278 - Null check in nsPurpleBuffer::VisitEntries. r=smaug 2014-11-03 16:50:00 -05:00
Seth Fowler
a09ff42fbc Bug 1091921 - Don't disable operator delete for Monitor and Mutex Auto helpers. r=froydnj
--HG--
extra : rebase_source : 9754a3daab2b3452201ed9575a4cc00b6b8d6231
2014-11-10 13:37:52 -08:00
Nathan Froyd
c767cf0846 Bug 1095633 - part 2 - remove HAVE_CPP_TROUBLE_COMPARING_TO_ZERO bits from the build system; r=mshal 2014-11-07 14:08:13 -05:00
Nathan Froyd
7c3afbd946 Bug 1095633 - part 1 - remove uses of HAVE_CPP_TROUBLE_COMPARING_TO_ZERO from headers; r=bz 2014-11-07 14:44:12 -05:00
David Major
d44bdf4b27 Bug 1096155: Report the correct OOM size when the caller doesn't specify a length. r=froydnj
--HG--
extra : rebase_source : 437d3acc69b0940cf388039a318eda7d9d27e082
2014-11-11 10:31:13 +13:00
Emanuel Hoogeveen
fbc3e91445 Bug 1084651 - Part 5: Simplify Cycle Collector logic now that SliceBudget makes more sense. r=mccr8 2014-11-06 10:14:00 +01:00
Emanuel Hoogeveen
b7672edb91 Bug 1084651 - Part 2: Clean up SliceBudget and require explicitly choosing between TimeBudget and WorkBudget. r=billm r=mccr8 2014-10-22 14:13:00 +02:00
Nicholas Nethercote
c881cf722e Bug 1094564 - Used SegmentedArray in SnowWhiteKiller. r=smaug.
This patch generalizes SegmentedArray a little, and then uses it instead of
nsTArray in SnowWhiteKiller. This avoids some large (sometimes 1 MiB or more)
allocations which were usually mostly unused.
2014-11-09 14:57:09 -08:00
Nathan Froyd
e9ec6ebc1b Bug 1095117 - forward-declare cycle collection things in nsRefPtr.h; r=mccr8 2014-11-07 09:13:18 -05:00
Mats Palmgren
e7f3e5289f Bug 415491, part 2 - Implement a char16_t version of NS_EscapeURL. r=bzbarsky 2014-11-08 02:42:04 +00:00
Carsten "Tomcat" Book
20c938e8d7 Merge mozilla-central to mozilla-inbound 2014-11-07 15:34:32 +01:00
Carsten "Tomcat" Book
ba5a7941af Backed out changeset ebdebc9251be (bug 1084651) 2014-11-07 15:30:49 +01:00
Carsten "Tomcat" Book
d87e8af66c Backed out changeset 77959236fb15 (bug 1084651) 2014-11-07 15:30:16 +01:00
Emanuel Hoogeveen
0d92fda72d Bug 1084651 - Part 5: Simplify Cycle Collector logic now that SliceBudget makes more sense. r=mccr8 2014-11-06 10:14:00 +01:00
Emanuel Hoogeveen
2efb3493a7 Bug 1084651 - Part 2: Clean up SliceBudget and require explicitly choosing between TimeBudget and WorkBudget. r=wmccloskey r=mccr8 2014-10-22 14:13:00 +02:00
Jacob Bramley
d7eea06a91 Bug 1050258 - ARM hard-float XPCOM: correct argument passing. r=dougc 2014-11-07 19:44:08 +11:00
Jed Davis
59573e5f85 Bug 1077057 - Expose Linux sandboxing information to JS via nsSystemInfo. r=kang r=froydnj
This adds "hasSeccompBPF" for seccomp-bpf support; other "has" keys
will be added in the future (e.g., user namespaces).

This also adds "canSandboxContent" and "canSandboxMedia", which are
absent if the corresponding type of sandboxing isn't enabled at build
type (or is disabled with environment variables), and otherwise present
as a boolean indicating whether that type of sandboxing is supported.
Currently this is always the same as hasSeccompBPF, but that could change
in the future.

Some changes have been made to the "mozilla/Sandbox.h" interface to
support this; the idea is that the MOZ_DISABLE_*_SANDBOX environment
variables should be equivalent to disabling MOZ_*_SANDBOX at build time.
2014-11-06 13:11:00 +01:00
Carsten "Tomcat" Book
13de0f42c9 Backed out 7 changesets (bug 1084651) for ASAN Bustage on a CLOSED TREE
Backed out changeset dd2b3e78b425 (bug 1084651)
Backed out changeset 2711fbd91819 (bug 1084651)
Backed out changeset 59a163addd79 (bug 1084651)
Backed out changeset d36f6dbbf925 (bug 1084651)
Backed out changeset 78102b62a4a0 (bug 1084651)
Backed out changeset 06387a2343a0 (bug 1084651)
Backed out changeset 2f8e7c39573e (bug 1084651)
2014-11-05 15:20:25 +01:00
Emanuel Hoogeveen
dd0cdda357 Bug 1084651 - Part 5: Simplify Cycle Collector logic now that SliceBudget makes more sense. r=mccr8 2014-10-21 11:54:00 +02:00
Emanuel Hoogeveen
f6218097c0 Bug 1084651 - Part 2: Clean up SliceBudget and require explicitly choosing between TimeBudget and WorkBudget. r=wmccloskey r=mccr8 2014-10-22 14:13:00 +02:00
Gina Yeh
d33f31e6be Bug 1089514, Patch 1: Some traced tasks/runnables have record of dispatch, but no records of execution, r=thinker.
---
 tools/profiler/TracedTaskCommon.cpp |   19 +++++--------------
 tools/profiler/TracedTaskCommon.h   |   12 ++++++++----
 xpcom/threads/TimerThread.cpp       |    2 ++
 xpcom/threads/nsTimerImpl.cpp       |    3 +++
 xpcom/threads/nsTimerImpl.h         |    2 +-
 5 files changed, 19 insertions(+), 19 deletions(-)
2014-11-04 17:42:03 +08:00
Jacek Caban
1fb284960f Bug 1092130 - Fixed build errors found by mingw after bug 1076698 landed (-Werror=missing-braces errors). r=cpearce 2014-11-03 10:28:52 +01:00
Steven Michaud
3c5c8c63c4 Bug 1091801 - fix inline assembly constraints; r=froydnj, a=Tomcat 2014-10-29 08:47:18 -04:00
Carsten "Tomcat" Book
312a3e591d Merge mozilla-central to mozilla-inbound 2014-10-30 15:13:45 +01:00
Carsten "Tomcat" Book
a758e037c4 merge mozilla-inbound to mozilla-central a=merge 2014-10-30 14:45:37 +01:00
Mike Hommey
47c853314f Bug 1077148 part 4 - Add and use new moz.build templates for Gecko programs and libraries. r=gps
There are, sadly, many combinations of linkage in use throughout the tree.
The main differentiator, though, is between program/libraries related to
Gecko or not. Kind of. Some need mozglue, some don't. Some need dependent
linkage, some standalone.

Anyways, these new templates remove the need to manually define the
right dependencies against xpcomglue, nspr, mozalloc and mozglue
in most cases.

Places that build programs and were resetting MOZ_GLUE_PROGRAM_LDFLAGS
or that build libraries and were resetting MOZ_GLUE_LDFLAGS can now
just not use those Gecko-specific templates.
2014-10-30 13:06:12 +09:00
Mike Hommey
0cd72b4901 Bug 1077148 part 3 - Do not link PrimitiveTest, SimpleTypeLib, TestAUSHelper, TestAUSReadStrings and screentopng against mozglue on Linux. r=gps
There is no reason these should be linked to mozglue on Linux only. This
makes the intent clearer for the related changes in part 4.
2014-10-30 13:06:04 +09:00
Nicholas Nethercote
e9387c4b71 Bug 1048044 - Use exponential growth when growing an nsTArray. r=froydnj.
--HG--
extra : rebase_source : 7587eb25686f5273b9b77a8b38c6cc40ce5fc25b
2014-10-29 20:34:33 -07:00
Steven Michaud
0e5350ab35 Bug 997908 - crash in ReleaseSliceNow(unsigned int, void*) accessing memory at 0x5a5a5a5a5a5a5a5a, test patch. r=nfroyd 2014-10-29 21:50:29 -05:00
Mason Chang
97ebd4c29a Bug 1083530. Part 1 Create mozilla::TimeStamp constructor with system time param. r=roc 2014-10-29 13:36:51 -07:00
Nicholas Nethercote
d27a8c365b Bug 1089446 - Remove xpcom/tools/analyze-xpcom-log.pl, which is ancient and unused. r=froydnj.
--HG--
extra : rebase_source : da65608c548dbbc4a336c75799ea713a5cdf01d3
2014-10-28 15:04:03 -07:00
Anuj Agarwal
d8d543d7b2 Bug 907327 - Added ErrorNames.h and ErrorNames.cpp. r=nfroyd 2014-10-20 13:09:00 +02:00
Carsten "Tomcat" Book
0c3d2acf16 Backed out changeset 3333c226a1d8 (bug 792989) for wrong commit number 2014-10-30 14:39:15 +01:00
Anuj Agarwal
78f9e5301b Bug 792989 - Added ErrorNames.h and ErrorNames.cpp. r=nfroyd 2014-10-20 13:09:00 +02:00
Paolo Amadini
e1e4b620e8 Bug 1013625 - Process Promise resolution runnables outside of main event queue. r=bz,khuey 2014-10-28 12:08:19 +00:00
Panos Astithas
785bd0838e Bug 1086936 part 2 - Add a flag to nsIAppStartup::quit that restarts the browser without using the same profile and use it for the Aurora UI switch. r=bsmedberg 2014-10-27 21:46:56 +02:00
Landry Breuil
d436a73cbd Bug 971897: Use xpct{stubs,invoke}_x86_64 from linux/unix on OpenBSD/amd64 for consistency r=bsmedberg
This fixes the download panel issue, and brings us revs 727721e5d8ac,
844b142d8111 and 236989b3a807 as a bonus. Remove the unmaintained
OpenBSD/amd64 specific versions.
2014-10-26 17:13:19 +01:00
Andrew McCreight
526df61329 Bug 1087799, part 3 - Do not include any JS things in the list of white nodes. r=smaug
Root() does not actually root JS things, so if some other class's Unlink() method ends
up calling the GC, whiteNodes will end up containing dead pointers. (This is safe right
now because the Unlink and Unroot methods do not do anything to JS things.) It is less
error prone to simply never store those pointers.

Also, add some asserts to enforce that we never call any of the white-object methods
for JS things.
2014-10-24 15:06:56 -07:00