Commit Graph

929 Commits

Author SHA1 Message Date
Olli Pettay
a090c1f030 Bug 958315 - Suspect JS things released by dying C++ objects in the next CC, r=mccr8 2014-01-14 22:23:59 +02:00
Boris Zbarsky
dd2f4ef162 Bug 932837 part 2. Create a refcounted object to manage the lifetime of a JS::StackDescription. r=mccr8, terrence 2014-01-07 19:53:17 -05:00
Carsten "Tomcat" Book
f98dd49b0f Backed out changeset 06f381426af1 (bug 944905) for windows bustage on a CLOSED TREE 2014-01-07 15:18:43 +01:00
Jacek Caban
bfec77ac34 Bug 944905 - Fix char16_t/wchar_t mismatch in xpcom/ r=bsmedberg 2014-01-07 14:54:52 +01:00
Patrick McManus
e3e7849089 bug 751465 - websockets dns and proxies r=jduell r=bsmedberg
--HG--
extra : rebase_source : ad2046a95f1ec9000577cc0f67aedc0766a51ed2
2014-01-06 13:52:42 -05:00
Jeff Walden
b01c238639 Bug 953296 - Implement mozilla::NullptrT as a typedef to use to accept nullptr values. Also add mozilla::IsNullPointer<T>, a trait for detecting *only* true nullptr (emulated nullptr [__null] used by gcc 4.4/4.5 isn't true nullptr). r=ehsan
Generally, if you want a decltype(nullptr)-based overload, you should use SFINAE and IsNullPointer.  (Examples are provided in NullPtr.h comments.)  The problem is NullptrT matches far more than just __null as emulated nullptr for gcc 4.4/4.5 overloading purposes.  This problem is unavoidable without true nullptr.  Currently, the only valid use for NullptrT is believed to be in operator overloads.  All existing nullptr-overloading code has been rewritten to use the appropriate technique for the situation, and MOZ_HAVE_CXX11_NULLPTR is no longer an API.

--HG--
extra : rebase_source : 01abfcb66ae569db7b04a7b53f5cd5fd8151bffd
2014-01-02 17:27:41 -06:00
Ehsan Akhgari
ebd358dfd7 Bug 927728 - Part 1: Replace PRUnichar with char16_t; r=roc
This patch was automatically generated by the following script:

#!/bin/bash
# Command to convert PRUnichar to char16_t

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*modules/libmar*" \
       ! -wholename "*/.hg*" \
       ! -wholename "obj-ff-dbg*" \
       ! -name prtypes.h \
       ! -name Char16.h \
         -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 PRUnichar char16_t
2014-01-04 10:02:17 -05:00
Ms2ger
fe059e78f7 Bug 950130 - Move more INCLUDES / LOCAL_INCLUDES to moz.build; r=mshal 2013-12-31 10:06:11 +01:00
Nathan Froyd
6182f5bef4 Bug 950882 - micro-optimize NS_TableDrivenQI calling sequence by reordering argument list; r=bsmedberg
For register-rich ABIs (e.g. x86-64 and ARM), QueryInterface's incoming
registers are going to look like:

arg register 1: |this|
arg register 2: the IID of interest
arg register 3: the outparam instance pointer

Most of our QI implementations call NS_TableDrivenQI, which expects
arguments like so:

arg register 1: |this|
arg register 2: the QITableEntry table
arg register 3: the IID of interest
arg register 4: the outparam instance pointer

So we're going to have to do a register shuffle of the IID and the
outparam to be able to load the QITableEntry pointer before calling into
NS_TableDrivenQI.

This patch reorders the argument list of NS_TableDrivenQI so that the
first three arguments match the order that QueryInterface receives them
in.  Then your typical QueryInterface implementation becomes:

- load local |table|
- tail-call NS_TableDrivenQI

Eliminating the register shuffling reduces text size by 12K on an
Android ARM build.
2013-12-13 19:50:02 -05:00
Andrew McCreight
5bbea5ab96 Bug 937818, part 1 - Add objects to the purple buffer on AddRef. r=smaug
ICC uses this to track objects that have been AddRef'd during ICC graph building.
For those objects, we may not have the proper information for them, so treat them
as live.
2013-12-17 19:29:57 -08:00
Carsten "Tomcat" Book
72465c7d55 Backed out changeset 261091719842 (bug 937818) for static rooting hazard analysis bustage on a CLOSED TREE 2013-12-17 09:20:51 +01:00
Andrew McCreight
4b4868e59c Bug 937818, part 1 - Add objects to the purple buffer on AddRef. r=smaug
ICC uses this to track objects that have been AddRef'd during ICC graph building.
For those objects, we may not have the proper information for them, so treat them
as live.
2013-12-16 21:30:53 -08:00
Nathan Froyd
cef4749188 Bug 950281 - micro-optimize NS_TableDrivenQI by ensuring the table has at least 1 non-null entry; r=bsmedberg 2013-12-13 19:17:18 -05:00
Andrew McCreight
6e48581b17 Bug 947626 - Fix index types in nsCOMArray CC helpers and remove whitespace. r=froydnj 2013-12-08 08:56:00 -08:00
Cameron McCormack
1e7916058d Bug 947578 - Expose Contains on nsBaseHashtable. r=froydnj 2013-12-08 11:08:58 +11:00
Jon Coppeard
fd24fa430f Bug 939206 - Fix build error in test code on B2G r=me 2013-12-07 16:09:12 +00:00
Jon Coppeard
8b5902f0f2 Bug 942928 - Add tests for nsTArray postbarriers r=sfink 2013-12-07 12:50:44 +00:00
Jon Coppeard
1001d2a7ba Bug 939206 - Fix nsTArray post barriers for JS::Heap<T> elements r=bsmedberg 2013-12-07 12:50:28 +00:00
Jon Coppeard
dc68689837 Bug 946732 - Reinstate xpcom/glue gtests r=BenWa 2013-12-05 16:48:48 +00:00
Jacek Caban
843b3659fc Bug 944905 - Fixed char16_t/wchar_t mismatch in xpcom/ r=bsmedberg 2013-12-04 13:19:09 +01:00
Seth Fowler
6d3953bff9 Bug 940142 - Add a lightweight generic hash key class to nsHashKeys.h. r=bsmedberg 2013-12-03 16:23:32 -08:00
Ehsan Akhgari
a1e350edad Bug 945592 - Convert the type macros in nsTextFormatter.cpp to enum values; r=froydnj 2013-12-03 15:41:25 -05:00
Ehsan Akhgari
76f23ad063 Bug 945118 - Build more of XPCOM in unified mode; r=glandium 2013-12-01 10:47:52 -05:00
Landry Breuil
e9ae7af602 Bug 944410 - add missing #include <stdarg.h> for va_list on OpenBSD after bug 942483 r=bgirard 2013-11-30 13:48:34 +01:00
Mike Hommey
9245936f8b Bug 874266 - Move all DEFINES that can be moved to moz.build. r=mshal 2013-11-27 22:55:07 +09:00
Mike Hommey
2b828323f2 Backout changeset 3fd4b546eed4 (bug 874266) and changeset a35d2e3a872f (bug 942043) for ASAN build bustage and Windows test bustage
--HG--
extra : amend_source : f20d09aeff1c8b5cbd0f1d24c7ce04e86f3aed1d
2013-11-28 14:24:05 +09:00
Mike Hommey
d210f8ff00 Bug 874266 - Move all DEFINES that can be moved to moz.build. r=mshal 2013-11-28 13:08:16 +09:00
Jacek Caban
db001e45e0 Bug 928351 - Char16.h and xpcom/strings/public parts r=ehsan,Waldo 2013-11-27 14:40:54 +01:00
Markus Stange
f0c633ccf9 Bug 924103 - Add a FilterDescription data structure and code that can create FilterNodes from it. r=roc 2013-11-27 12:25:28 +01:00
Andrew McCreight
a1a437b34d Bug 931738 - Remove nsPurpleBufferEntry from nsISupportsImpl.h. r=smaug 2013-11-26 14:29:59 -05:00
Benjamin Smedberg
041396b09d Bug 938794 - Annotate OOM size as infallible string or data structures abort, r=froydnj
--HG--
extra : rebase_source : f84278dfbba92c6d75458b525a559b6f8598500f
2013-11-25 15:06:17 -05:00
Benoit Girard
f8fd653be7 Bug 942483 - Port paint-dumping to android/b2g. r=gal 2013-11-23 17:44:18 -05:00
Ehsan Akhgari
6f773eb0a9 Bug 941405 - Remove the usages of the register keyword from XPCOM; r=froydnj 2013-11-21 10:42:40 -05:00
Ryan VanderMeulen
6a90626b1d Backed out changeset 4887ddabba31 (bug 939231) for mochitest hangs.
CLOSED TREE
2013-11-21 09:39:38 -05:00
Nathan Froyd
d10d402c30 Bug 940160 - constify the PLDHashTableOps struct in nsTHashtable::Init; r=ehsan 2013-11-18 21:34:53 -05:00
Ehsan Akhgari
2524d4cb55 Bug 939231 - Stop requiring trace-malloc for the deadlock detector; r=bent
The existing deadlock detector code uses the trace-malloc stack walking
facilities, which is problematic for a few reasons.

1. It is only available in builds with --enable-trace-malloc, which is
   not in the default build configuration.
2. It tries to capture a symbolicated stack trace every time that a lock
   is acquired or released, which is really slow.

This patch changes the deadlock detector to use the XPCOM stack walking
and symbolification facilities, and avoids the symbolification until the
point where we need to print out the call stack, which makes the
deadlock detector a lot faster than it currently is in trace-malloc
builds.
2013-11-21 07:43:23 -05:00
Benjamin Smedberg
9bfc4e98e3 Bug 672843 part C - convert most of XPCOM except for xpcom/tests, r=vdjeric 2013-11-19 16:27:37 -05:00
Benjamin Smedberg
f72af0bb16 Bug 672843 part B - Remove NS_ENSURE_PROPER_AGGREGATION, r=froydnj 2013-11-19 16:27:36 -05:00
Benjamin Smedberg
5f71d47853 Bug 672843 part A - Create the new macro NS_WARN_IF and deprecate NS_ENSURE_* in favor of the explicit warning/return style. Also localize each macro so that it's debug and non-debug versions are local in the file, because that makes it easier for new contributors to understand. r=froydnj sr=jst 2013-11-19 16:27:36 -05:00
Jim Blandy
f0a0296f91 Bug 896100: Convert all uses of OldMove and MoveRef to true rvalue references and the modern Move and Forward. r=luke, r=waldo 2013-11-19 09:05:36 -08:00
Ehsan Akhgari
5850c6bcff Bug 936912 - Build xpcom in unified mode; r=froydnj 2013-11-18 21:34:00 -05:00
Mike Hommey
bb6779efe3 Bug 939044 - Remove most definitions of MODULE. r=mshal 2013-11-19 11:47:39 +09:00
Joshua Cranmer
08036d15e9 Bug 935789, part 1: Kill most uses of prbit.h, r=ehsan
--HG--
extra : rebase_source : 4c44e60c72e0ece3cea7ed1cf79079bd2a1b6487
2013-11-12 18:22:38 -06:00
Olli Pettay
d17708e1fb Bug 937303 - Make CC logger to pass information about compartments, r=mccr8 2013-11-12 15:53:51 +02:00
Wes Kocher
df1a729291 Backed out changeset 3d769520a0be (bug 937303) for build bustage 2013-11-11 14:50:00 -08:00
Olli Pettay
855df0dd10 Bug 937303 - Make CC logger to pass information about compartments, r=mccr8
--HG--
extra : rebase_source : 48545d4c83d88f34773ca84e542aa13316ca38c6
2013-11-12 00:12:00 +02:00
Nicholas Nethercote
7005c68a5b Bug 933605 (part 2) - Don't declare all vars at the top of functions in pldhash.cpp. r=jorendorff.
--HG--
extra : rebase_source : 53da17b46bd986ceefbc66f23e43d2f5b7290fad
2013-10-31 22:33:29 -07:00
Nicholas Nethercote
14b48dc0f4 Bug 933605 (part 1) - Remove DEBUG_XXXbrendan-only code. r=jorendorff.
--HG--
extra : rebase_source : 8ebc751e246cf133f899a8563e75f9bff77d9eda
2013-10-31 22:30:45 -07:00
Nicholas Nethercote
8240e2f282 Bug 933074 - Allow a pldhash to be reasonably overloaded if it cannot be grown further. r=jorendorff.
--HG--
extra : rebase_source : 0760f78d5332b4791899c1db649493eeca10b978
2013-10-30 18:22:31 -07:00
Nicholas Nethercote
9726ac23f3 Bug 815467 - Store pldhash's recursionLevel in a better place, so that debug and non-debug pldhashes take up the same amount of memory. r=dbaron.
--HG--
extra : rebase_source : c3c928f6706be4ef55620f05320050991a657a6c
2013-10-30 15:10:06 -07:00