Benoit Jacob
11b17d8156
Bug 852393 - Specialize nsAutoTArray<T, 0> to be an nsTArray - r=froydnj
2014-05-29 11:59:37 -04:00
David Major
8249313aee
Bug 1014288: Fix the OOM check in nsTArrayInfallibleAllocator::Realloc. r=bsmedberg
2014-05-28 14:45:15 +12:00
Ehsan Akhgari
904859d716
Bug 1013664 - Fix bad implicit conversion constructors in XPCOM; r=froydnj
2014-05-21 21:33:28 -04:00
Benoit Jacob
3b25b83743
Bug 1004098 - Make nsTArray use size_t in its interface (32bitness is fine as an internal detail) - r=froydnj, sr=bsmedberg
2014-05-08 21:03:35 -04:00
Randell Jesup
ffe5ecc547
Bug 940329: avoid warnings from using size_t in ImplCycleCollectionTraverse() r=ehsan
2014-04-27 00:29:18 -04:00
Chris Peterson
f86875d090
Backed out changeset 18034a2d0732 (bug 940329) for build bustage
2014-04-26 23:11:47 -07:00
Randell Jesup
9f7ef925d5
Bug 940329: avoid warnings from using size_t in ImplCycleCollectionTraverse() r=ehsan
2014-04-27 00:29:18 -04:00
L. David Baron
eccc6c3bd1
Bug 976350 patch 1: Move the contents of nsTraceRefcnt.h into nsISupportsImpl.h. r=bsmedberg
...
This makes sense since the file no longer contains anything with the
nsTraceRefcnt name in it, and it will allow renaming nsTraceRefcntImpl
back to nsTraceRefcnt.
2014-02-26 13:36:35 -08:00
Ehsan Akhgari
14916cba66
Bug 969864 - Make nsTArray::SetLength return void; r=froydnj
2014-02-19 08:27:15 -05:00
Neil Rashbrook
094478fdd4
Bug 972167 Followup to make the code compile now that it's actually being used
...
a=KWierso for checkin to a CLOSED TREE
2014-02-13 21:07:46 +00:00
Neil Rashbrook
c41d22ce11
Bug 972167 Really give nsAutoArrayBase a copy constructor so that nsAutoTArray's implicit copy constructor will use it r=froydnj
2014-02-13 20:47:32 +00:00
Benoit Jacob
5822f402e4
Bug 960591 - Prevent implicitly constructing nsTArray<E> elements from E* pointers - r=ehsan
2014-01-17 11:54:19 -05:00
Jon Coppeard
22111d8804
Bug 939206 - Fix nsTArray post barriers for JS::Heap<T> elements r=bsmedberg
2013-12-07 12:50:28 +00:00
Markus Stange
41c6301059
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
Benjamin Smedberg
1246de99b0
Bug 938794 - Annotate OOM size as infallible string or data structures abort, r=froydnj
2013-11-25 15:06:17 -05:00
Ryan VanderMeulen
5a99fa229f
Backed out changeset 4887ddabba31 (bug 939231) for mochitest hangs.
...
CLOSED TREE
2013-11-21 09:39:38 -05:00
Ehsan Akhgari
77997d5494
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
Nathan Froyd
61f99ecce1
Bug 929494 - use template typedefs, not inheritance, to define nsTArray element copiers; r=ehsan
...
There's no reason to use inheritance here, and using plain typedefs avoids massive
amounts of code duplication for the common case of copying with mem*. Code savings
on Android come in at about 570K (!), or ~2% of libxul .text size, which is a massive
win.
2013-10-22 10:36:34 -04:00
Mats Palmgren
bfc3220d5c
Bug 911283 - Introduce nsTArray::SetLengthAndRetainStorage which unlike SetLength does not deallocate/reallocate the internal storage. Use it in NS_FillArray. r=bsmedberg
2013-09-08 02:05:02 +00:00
Ms2ger
22117af9f0
Bug 904110 - Move alignment features out of Util.h into a new header; r=Waldo
2013-08-14 09:00:52 +02:00
Ehsan Akhgari
1ab9c7bcb4
Bug 895322 - Part 1: Replace the usages of MOZ_STATIC_ASSERT with C++11 static_assert; r=Waldo
...
This patch was mostly generated by running the following scripts on the codebase, with some
manual changes made afterwards:
# static_assert.sh
#!/bin/bash
# Command to convert an NSPR integer type to the equivalent standard integer type
function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
! -wholename "*security/nss*" \
! -wholename "*/.hg*" \
! -wholename "obj-ff-dbg*" \
! -name nsXPCOMCID.h \
! -name prtypes.h \
-type f \
\( -iname "*.cpp" \
-o -iname "*.h" \
-o -iname "*.cc" \
-o -iname "*.mm" \) | \
xargs -n 1 `dirname $0`/assert_replacer.py #sed -i -e "s/\b$1\b/$2/g"
}
convert MOZ_STATIC_ASSERT static_assert
hg rev --no-backup mfbt/Assertions.h \
media/webrtc/signaling/src/sipcc/core/includes/ccapi.h \
modules/libmar/src/mar_private.h \
modules/libmar/src/mar.h
# assert_replacer.py
#!/usr/bin/python
import sys
import re
pattern = re.compile(r"\bMOZ_STATIC_ASSERT\b")
def replaceInPlace(fname):
print fname
f = open(fname, "rw+")
lines = f.readlines()
for i in range(0, len(lines)):
while True:
index = re.search(pattern, lines[i])
if index != None:
index = index.start()
lines[i] = lines[i][0:index] + "static_assert" + lines[i][index+len("MOZ_STATIC_ASSERT"):]
for j in range(i + 1, len(lines)):
if lines[j].find(" ", index) == index:
lines[j] = lines[j][0:index] + lines[j][index+4:]
else:
break
else:
break
f.seek(0, 0)
f.truncate()
f.write("".join(lines))
f.close()
argc = len(sys.argv)
for i in range(1, argc):
replaceInPlace(sys.argv[i])
2013-07-18 13:59:53 -04:00
Paul Adenot
f5a8e5e0b8
Bug 882543 - Retain storage for media streams accross iterations instead of reallocating. r=jlebar,roc
2013-07-19 16:40:56 +02:00
Mike Hommey
c887ad6fbd
Bug 892401 - Remove NEW_H. r=ted
2013-07-12 09:16:41 +09:00
Justin Lebar
8cc88f21ce
Bug 820686 - Remove code after MOZ_CRASH or MOZ_ASSUME_NOT_REACHED. r=(see below)
...
r=tbsaunde for accessible
r=jmuizelaar for gfx
r=waldo for js
r=roc for layout
r=glandium for mozglue
r=jduell for netwerk
r=khuey for everything else
2013-06-28 18:38:32 -07:00
Justin Lebar
de89040a2c
Bug 802686 - s/MOZ_NOT_REACHED/MOZ_CRASH/ in Gecko. r=(see below)
...
r=tbsaunde for accessible
r=jmuizelaar for gfx
r=roc for layout
r=glandium for mozglue
r=jduell for netwerk
r=khuey for everything else
This is a mechanical change made with sed. Later patches in this queue
clean up the whitespace errors and so on.
2013-06-28 18:38:30 -07:00
Catalin Iacob
f88cdc0744
Bug 798914 (part 5) - Use newly introduced mozilla::MallocSizeOf instead of nsMallocSizeOfFun. r=njn.
2013-06-23 14:03:39 +02:00
Jon Coppeard
c3a1f44de1
Bug 877762 - GC: Post-barrier cycle collector participants - 2 Stop nsTArray memmoving Heap<T>s r=jlebar r=bz
2013-06-18 11:00:37 +01:00
Trevor Saunders
d5a6a46be4
bug 856790 - make nsTArray::EnsureLengthAtleast() return void r=jlebar
2013-04-01 16:42:54 -04:00
Trevor Saunders
4b0fb9fd14
bug 856696 - make nsTArray::SwapElements() return void r=jlebar
2013-04-01 13:43:34 -04:00
Ehsan Akhgari
d880052f86
Bug 853548 - Make nsTArray::SetCapacity and InfallibleTArray::SetCapacity return void; r=jlebar
2013-03-21 15:02:20 -04:00
Justin Lebar
f7dd98d002
Bug 844820 - Fix two benign races in nsTArray around sEmptyHdr. a=bz
2013-02-26 11:24:41 -05:00
Boris Zbarsky
8c3eabf220
Bug 618479 part 1. Clean up the nsTArray binary-insert code a little bit. r=jlebar,kinetik
2013-02-13 10:11:53 -05:00
Jeff Walden
066a29a559
Rename the |static const bool result| member of IsSame, IsPod, and IsPointer to |value| to be consistent with every other type trait. I have no idea how I managed to consistently not notice this during review. Followup to bug 723228, r=typo
2013-02-08 22:59:54 -08:00
Razvan Cojocaru
4d201c0be3
Bug 723228 - nsTArray::AssignRange should use memcpy when possible. r=jlebar for the XPCOM changes, r=jwalden for js/mfbt changes
2013-02-08 13:18:49 -08:00
Justin Lebar
da11695955
Bug 819791 - Part 11: Make nsTArray and friends' copy constructors explicit. r=bz
2012-12-18 20:16:07 -05:00
Justin Lebar
889a983d62
Bug 819791 - Part 3: Make typeof nsTArray == typeof InfallibleTArray. r=bz
...
Also make typeof nsAutoTArray == typeof AutoInfallibleTArray and switch
files to using nsTArrayForwardDeclare.h.
2012-12-18 20:16:06 -05:00
Justin Lebar
2bb47d3172
Bug 819791 - Part 1: Remove nsTArrayDefaultAllocator, replacing it unconditionally with nsTArrayInfallibleAllocator. r=bz
2012-12-18 20:16:06 -05:00
Boris Zbarsky
45c84e57c0
Bug 819523 part 1. Make it possible to use the various-allocator nsTArrays interchangeably as long as you're working with const objects. r=jlebar
2012-12-18 20:16:05 -05:00
Boris Zbarsky
7f5717670b
Bug 815671 part 10. Make nsTArray constructors explicit. r=jlebar
2012-11-29 11:14:14 -05:00
Benoit Jacob
b20f6f40ba
Bug 806279 - CC macros refactoring: part 1: implement type-generic CC UNLINK/TRAVERSE macros - r=mccr8,smaug
2012-11-15 02:32:39 -05:00
William Chen
ba12d13b4f
Bug 798065 - Fix integer underflow in nsTArray::LastIndexOf. r=cjones
2012-10-04 15:23:41 -07:00
Nathan Froyd
e2fbb0a25b
Bug 796119 - part 2: don't #include prtypes.h in xpcom/ unless absolutely necessary; r=ehsan
...
"absolutely necessary" in this context means "needs PRUnichar", which is
the reason that nsString.h now #includes prtypes.h.
2012-10-01 17:01:01 -04:00
Nathan Froyd
92acd8037a
Bug 796279 - remove remaining PR_MAX instances from the tree; r=ehsan
...
We can't use NS_MAX or std::max because we lack uniform constexpr
support across our supported compilers. But we can do a simple inline
max ourselves.
2012-10-01 20:38:21 -04:00
Ehsan Akhgari
e4907ec4f6
Backout changeset 9e38c5518605, fc59bd8d49ba, d0ba1abde985, and acf91f25f228 (bugs 796119, 796279, and 797106) because of broken reftests on 64-bit platforms
2012-10-02 23:16:36 -04:00
Nathan Froyd
a2064e331e
Bug 796119 - part 2: don't #include prtypes.h in xpcom/ unless absolutely necessary; r=ehsan
...
"absolutely necessary" in this context means "needs PRUnichar", which is
the reason that nsString.h now #includes prtypes.h.
2012-10-01 17:01:01 -04:00
Nathan Froyd
e9e327ec0c
Bug 796279 - remove remaining PR_MAX instances from the tree; r=ehsan
...
We can't use NS_MAX or std::max because we lack uniform constexpr
support across our supported compilers. But we can do a simple inline
max ourselves.
2012-10-01 20:38:21 -04:00
Boris Zbarsky
db6c94fc2e
Bug 793253. Infallible TArrays should really be infallible. r=jlebar
2012-09-22 22:04:54 -04:00
Ehsan Akhgari
243c878d26
Bug 579517 - Part 1: Automated conversion of NSPR numeric types to stdint types in Gecko; r=bsmedberg
...
This patch was generated by a script. Here's the source of the script for
future reference:
function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
! -wholename "*security/nss*" \
! -wholename "*/.hg*" \
! -wholename "obj-ff-dbg*" \
! -name nsXPCOMCID.h \
! -name prtypes.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 PRInt8 int8_t
convert PRUint8 uint8_t
convert PRInt16 int16_t
convert PRUint16 uint16_t
convert PRInt32 int32_t
convert PRUint32 uint32_t
convert PRInt64 int64_t
convert PRUint64 uint64_t
convert PRIntn int
convert PRUintn unsigned
convert PRSize size_t
convert PROffset32 int32_t
convert PROffset64 int64_t
convert PRPtrdiff ptrdiff_t
convert PRFloat64 double
2012-08-22 11:56:38 -04:00
Aryeh Gregor
8b4a23fc4c
Bug 777292 part 2 - Change all nsnull to nullptr
2012-07-30 17:20:58 +03:00
Joshua Cranmer
a9921e1d15
Bug 773637 - Kill NS_SCRIPTABLE annotations, Part 1: Remove NS_*PARAM annotations. r=ehsan
2012-07-06 15:14:07 -05:00