Jeff Muizelaar
b29099ae6d
Bug 1228641. Add a polyfill of std::initializer_list. r=froydnj
2016-01-06 22:06:35 -05:00
Jan de Mooij
36e21ef4d9
Bug 1231224 part 10 - Make various Vector calls check for OOM. r=terrence
...
--HG--
extra : rebase_source : fae86eb928fc510c3d5c7a895675cf218fc15b3a
2016-01-06 21:06:25 +01:00
Chris Peterson
3171200ff5
Bug 1235277 - Define MOZ_FALLTHROUGH_ASSERT to workaround -Wunreachable-code warnings about MOZ_FALLTHROUGH in debug builds. r=botond
2015-12-27 13:27:17 -07:00
Nathan Froyd
6b46b54d1f
Bug 1232694 - fix typo in Compiler.h; r=botond
2015-12-15 11:14:53 -05:00
Nick Fitzgerald
4560db90e5
Bug 1170325 - Convert js::Vector into a template alias to mozilla::Vector with a single customized default argument. Also get rid of the CRTP support in mozilla::Vector (through mozilla::VectorBase) now that template aliasing is good enough, and make mozilla::Vector final so that people will use composition and not inheritance with it. (Inheritance plays poorly with movability and a few other things, in addition to messing up template argument deduction matching.) r=Waldo, patch sort of a tag-team between him and me
2015-07-13 12:42:52 -07:00
Chris Peterson
46bb7c80dd
Bug 1228947 - Replace mfbt/Constants.h with math.h. r=roc
...
--HG--
extra : rebase_source : 4ab2c4a917ea90055e48bd6adcb53904f2266ee0
2015-11-27 20:49:55 -08:00
Xidorn Quan
5216514639
Bug 1228182 - Use division directly for generating double in XorShift128PlusRNG. r=Waldo
...
--HG--
extra : source : f090915a20c5d1281cd49a7aa7668ad77f83435a
2015-12-03 12:16:18 +11:00
Jan de Mooij
90cb097793
Bug 322529 part 3 - Fix LRandom JIT code to use the new algorithm. r=arai,jwalden
2015-12-02 13:56:00 +01:00
Mike Hommey
2a82df055d
Bug 1229293 - Enforce order when setting a HierarchicalStringList, and forbid reassignment. r=gps
...
The current implementation of HierarchicalStringList allows the following:
FOO.bar = [
'foo',
'bar',
]
while
FOO.bar += [
'foo',
'bar',
]
would be invalid because of the StrictOrderingOnAppendList enforcement.
It also allows to overwrite the entire list with a subsequent
FOO.bar = [
'baz',
]
while we've explicitly forbidden such things for every other list.
While in the vicinity, fix HierarchicalStringList._get_export_variable to not
call the HierarchicalStringList constructor uselessly.
2015-12-02 11:04:37 +09:00
Mike Hommey
572059374e
Bug 1178266 - Link against libatomic when necessary. r=froydnj
2015-12-02 11:04:37 +09:00
Botond Ballo
1a83097cba
Bug 1221680
- Avoid hard errors when testing convertibility using the IsConvertible type trait. r=froydnj
...
--HG--
extra : source : ea11bb67c3510671a501724d17d9872c3455891d
2015-11-06 17:47:36 -05:00
Bill McCloskey
47b5adaa34
Bug 1221368 - Change MakeTuple to decay the types of its arguments (r=froydnj)
2015-11-09 10:21:11 -08:00
Nathan Froyd
e763192040
Bug 1216611 - add mozilla::MakeUniqueFallible and convert uses throughout the tree; r=Waldo
2015-11-05 16:24:24 -05:00
Sean Stangl
2e1255ee1e
Bug 939157 - RotateLeft with shift of zero gives undefined behavior. r=Waldo
2015-11-03 14:25:48 -08:00
Jeff Walden
fe5445d030
Bug 1220693 - Make mozilla::Atomic<enum class> work even on compilers that don't have <atomic>. r=froydnj
...
--HG--
extra : rebase_source : 2eb167a1b86a1a93527761a9541ea30ad213785a
2015-11-03 13:03:26 -08:00
Markus Stange
ef4655be32
Bug 1201330 - Keep scroll handler induced layer activity active until the scroll frame becomes inactive. r=roc
...
--HG--
extra : commitid : K9ntCNQz1Fx
extra : rebase_source : ed8a567f22626d7074bbc58eb5e61baa251fe2c3
2015-10-30 16:28:53 +01:00
Birunthan Mohanathas
9985829ecc
Bug 1219392 - Capitalize mozilla::unused to avoid conflicts. r=froydnj
2015-11-02 07:53:26 +02:00
Mike Hommey
c3385563ef
Backout changeset 3ced6f84960c (bug 1178266) because it was not reviewed by a peer and isn't a complete fix.
2015-10-31 07:36:49 +09:00
Carsten "Tomcat" Book
2fe6ba353f
Backed out changeset d5d68c0258f3 (bug 1201330)
...
--HG--
extra : rebase_source : 2b98ebd0dd0ccd247b50e4b45210137622ef4441
2015-10-30 14:44:06 +01:00
Markus Stange
09bf18ccd8
Bug 1201330 - Keep scroll handler induced layer activity active until the scroll frame becomes inactive. r=roc
...
--HG--
extra : commitid : AV1sQewWYHl
extra : rebase_source : ef132043f3af460c1aabc531faa06752d4c9c2df
2015-10-27 17:18:03 +01:00
Mike Hommey
beffa7ff42
Bug 1178266 - Link against libatomic when necessary r=huangwenjun06
...
---
build/autoconf/toolchain.m4 | 26 ++++++++++++++++++++++++++
mfbt/moz.build | 3 +++
2 files changed, 29 insertions(+)
2015-10-29 22:19:35 +08:00
L. David Baron
001cd79ef9
Bug 1214958 - Add operators &=, |=, and ^= to mozilla::DebugOnly. r=froydnj
...
--HG--
extra : commitid : 2f0PRWFcnzP
2015-10-19 20:42:28 -07:00
Cameron McCormack
0cabb3c016
Bug 1216041 - Add ranged iterator support to mozilla::{Array,RangedArray,EnumerationArray}. r=froydnj
2015-10-20 10:16:20 +11:00
Cameron McCormack
8df7b927c3
Bug 1216040 - Make ArrayLength support mozilla::EnumeratedArray. r=froydnj
2015-10-20 10:16:20 +11:00
Cameron McCormack
4fa140ec32
Bug 1216038 - Deduce underlying integer type for MakeEnumeratedRange starting at 0. r=froydnj
2015-10-20 10:16:19 +11:00
Chris Peterson
0308741102
Bug 1215411 - Define MOZ_FALLTHROUGH annotation to suppress clang's -Wimplicit-fallthrough warnings. r=botond
2015-10-04 21:03:26 -07:00
Nathan Froyd
01583602a9
Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
...
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout. The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.
CLOSED TREE makes big refactorings like this a piece of cake.
# The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
xargs perl -p -i -e '
s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
s/nsRefPtr ?</RefPtr</g; # handle declarations and variables
'
# Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h
# Handle nsRefPtr.h itself, a couple places that define constructors
# from nsRefPtr, and code generators specially. We do this here, rather
# than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
# things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
mfbt/nsRefPtr.h \
xpcom/glue/nsCOMPtr.h \
xpcom/base/OwningNonNull.h \
ipc/ipdl/ipdl/lower.py \
ipc/ipdl/ipdl/builtin.py \
dom/bindings/Codegen.py \
python/lldbutils/lldbutils/utils.py
# In our indiscriminate substitution above, we renamed
# nsRefPtrGetterAddRefs, the class behind getter_AddRefs. Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'
if [ -d .git ]; then
git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi
--HG--
rename : mfbt/nsRefPtr.h => mfbt/RefPtr.h
2015-10-18 01:24:48 -04:00
Nathan Froyd
483783681e
Bug 1207245 - part 4 - remove RefPtr.h; r=ehsan
...
It has been superseded by the availability of nsRefPtr.h.
2015-10-18 00:40:16 -04:00
Nathan Froyd
583afa0965
Bug 1207245 - part 3 - switch all uses of mozilla::RefPtr<T> to nsRefPtr<T>; r=ehsan
...
This commit was generated using the following script, executed at the
top level of a typical source code checkout.
# Don't modify select files in mfbt/ because it's not worth trying to
# tease out the dependencies currently.
#
# Don't modify anything in media/gmp-clearkey/0.1/ because those files
# use their own RefPtr, defined in their own RefCounted.h.
find . -name '*.cpp' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
grep -v 'mfbt/RefPtr.h' | \
grep -v 'mfbt/nsRefPtr.h' | \
grep -v 'mfbt/RefCounted.h' | \
grep -v 'media/gmp-clearkey/0.1/' | \
xargs perl -p -i -e '
s/mozilla::RefPtr/nsRefPtr/g; # handle declarations in headers
s/\bRefPtr</nsRefPtr</g; # handle local variables in functions
s#mozilla/RefPtr.h#mozilla/nsRefPtr.h#; # handle #includes
s#mfbt/RefPtr.h#mfbt/nsRefPtr.h#; # handle strange #includes
'
# |using mozilla::RefPtr;| is OK; |using nsRefPtr;| is invalid syntax.
find . -name '*.cpp' -o -name '*.mm' | xargs sed -i -e '/using nsRefPtr/d'
# RefPtr.h used |byRef| for dealing with COM-style outparams.
# nsRefPtr.h uses |getter_AddRefs|.
# Fixup that mismatch.
find . -name '*.cpp' -o -name '*.h'| \
xargs perl -p -i -e 's/byRef/getter_AddRefs/g'
2015-10-18 00:40:10 -04:00
Jim Blandy
51d813dfae
No bug: Fix comment in mfbt/FastBernoulliTrial.h. DONTBUILD r=me
...
--HG--
extra : rebase_source : 03a213a8999d4b6b47c6e2be3a8ea06053e24184
extra : amend_source : 9181ae56e72b66bf19fe2129bfab01f0910aaad8
2015-10-16 12:21:39 -07:00
Steve Fink
2fac3971ef
Bug 1212624 - Tests for LinkedList, r=Waldo
...
--HG--
extra : rebase_source : 39cb2bc90342da5d5fc1379f805b1dd701a108df
2015-10-07 12:36:00 -07:00
Steve Fink
2ac5b36223
Bug 1212624 - Implement range-based iteration for LinkedList, r=Waldo
...
--HG--
extra : rebase_source : 9d3d1b40cab8542f4e7aaf9ffe1496c646c8291e
2015-10-07 14:19:42 -07:00
Nathan Froyd
86aec2801f
Bug 1207245 - part 6a - call AddRef/Release from nsRefPtr itself, rather than a helper; r=botond
...
The problematic class is AtomicRefCountedWithFinalize, from gfx/layers/;
I don't know all the details for why that class is written the way it
is, but it is simpler to make nsRefPtr work the same way as
mozilla::RefPtr in this case.
2015-10-12 22:29:51 -04:00
Steve Fink
833a3ce77b
Backed out 5 changesets (bug 1212624) for breaking stuff.
...
Backed out changeset cf5ffa45a4a2
Backed out changeset 0d7a968d2d64 (bug 1212624)
Backed out changeset 379edefa8e47 (bug 1212624)
Backed out changeset f73fca35daad (bug 1212624)
Backed out changeset 4f499d30a0e0 (bug 1212624)
2015-10-14 16:49:12 -07:00
Steve Fink
c860330eec
Bug 1212624 - Tests for LinkedList, r=Waldo
...
--HG--
extra : rebase_source : f44eac4762baa6cc47e5ea370fe19ea35aaf9c88
2015-10-07 12:36:00 -07:00
Steve Fink
0df76da429
Bug 1212624 - Implement range-based iteration for LinkedList, r=Waldo
...
--HG--
extra : rebase_source : fb99021b13d030e12257ed420887051c7c5f9b8c
2015-10-07 14:19:42 -07:00
James Cheng
23b7d3da85
Bug 1212745 - Part 1 - operator() Use perfect forwarding to avoid redundant copy. r=nfroyd
2015-10-08 11:38:00 +02:00
James Cheng
bf740b75f1
Bug 1212745 - Part 1 - Make mozilla::Function support pointer to member function. r=nfroyd
2015-10-11 19:53:00 +02:00
Jim Blandy
cd209ab0b5
Bug 1206357: Add mfbt/FastBernoulliTrial.h, implementing efficient random sampling. r=waldo
...
--HG--
extra : rebase_source : 63de57cd3fb3317c752f58fb7a0a71f050f198a3
2015-10-08 13:05:31 -07:00
Michael Layzell
a764ebee57
Bug 1211979 - Annotate crashes triggered by MOZ_RELEASE_ASSERT, r=froydnj
2015-10-08 17:50:58 -04:00
Michael Layzell
e4681ea6a5
Bug 1183355 - Annotate crash reports triggered by MOZ_CRASH in release builds, r=froydnj
2015-10-08 10:01:08 -04:00
Jon Coppeard
5ea571ddb7
Bug 1211100 - Add Vector::infallibleEmplaceBack and use it in JSScript::initScriptCounts() r=nbp
...
--HG--
extra : rebase_source : a989ddba0bc981725a955c705a51aa495ef59ab9
2015-10-06 14:50:49 +01:00
Chris Peterson
0c816bee5c
Bug 1208357 - Fix -Wshadow warnings in mfbt/decimal. r=Ms2ger sr=Waldo
2015-09-22 20:43:29 -07:00
Jon Coppeard
204777d13d
Bug 1207519 - Prevent HashTable shrink from ignoring allocation failures that may have been reported r=Waldo
2015-09-30 11:34:49 +01:00
Jon Coppeard
1ae90ca7ba
Bug 1200642 - Add OOM simulation to Vector r=Waldo
2015-09-30 11:34:48 +01:00
Jon Coppeard
0b41e069f3
Bug 1200642 - Add checkSimulatedOOM() to AllocPolicy r=Waldo
2015-09-30 11:34:44 +01:00
Wes Kocher
0eeafe1fa4
Merge inbound to central, a=merge
2015-09-24 16:46:34 -07:00
Jared Wein
71808b231d
Bug 1205020 - Disable optimizations in TestTuple.cpp since it breaks the build on VS2013 Windows 10. r=froydnj
...
--HG--
extra : rebase_source : f209cc4dd8051562a4ef87313d0636f9dbee2132
2015-09-23 13:53:07 -04:00
Olli Pettay
e91dae783c
Bug 1204669 optimize out hashtable lookups caused by extra GetPrototypeBinding call, r=bz,waldo
2015-09-24 03:53:31 +03:00
Nathan Froyd
50eb249b57
Bug 1207245 - part 2 - move MakeAndAddRef to nsRefPtr.h
...
A number of places depend on RefPtr.h providing this function. When we
s/RefPtr/nsRefPtr/, such places still need to be able to see this
function. Moving it to nsRefPtr.h makes it still visible before we
switch (since RefPtr.h includes nsRefPtr.h), and after we switch (since
every place that #includes RefPtr.h will now be #including nsRefPtr.h).
2015-09-22 22:23:10 -04:00
Nathan Froyd
5761751aa3
Bug 1207245 - part 1 - move RefCounted<T> to its own file
...
Various bits depend on RefPtr.h to provide RefCounted<T> and RefPtr<T>.
It will be easier to manage an automatic conversion from RefPtr<T> to
nsRefPtr<T> if we split out the dependency on RefCounted<T> first.
2015-09-22 21:27:34 -04:00
Nathan Froyd
d3552d7e39
Bug 1207245 - part 0 - fix why-did-we-allow-that tests in TestRefPtr.cpp
...
RefPtr.h's byref permits callees to see the incoming value of the
outparam; XPCOM's getter_AddRefs zeros outparams prior to the call, so
information doesn't leak through inadvertently. Given this difference,
we need to eliminate tests that depended on this (arguably dangerous)
behavior. The numerous assertion fixups are required because we're
removing construction and destruction of objects along the way.
2015-09-23 23:07:29 -04:00
Jim Blandy
e1252e4e42
Bug 1206356: Add mfbt/Random.h, implementing the xorshift128+ random number generator. r=waldo
...
--HG--
extra : rebase_source : 3eb009156765b341e6a2dcee9f0287ce198c439f
2015-09-23 13:59:28 -07:00
Phil Ringnalda
dba9d5afc5
Back out 835853a88b03 (bug 1206356) for at least Android/B2G bustage
...
CLOSED TREE
2015-09-22 18:21:32 -07:00
Jim Blandy
68cb70e9c4
Bug 1206356: Add mfbt/Random.h, implementing the xorshift128+ random number generator. r=waldo
...
--HG--
extra : rebase_source : 8694eae8a75a1b56be81826e3d9567d33a9fcdfe
2015-09-22 16:34:51 -07:00
James Cheng
48d19920cb
Bug 1204790 - Prefer deleted function with public access specifiers instead of private in UniquePtr. r=nfroyd
...
--HG--
extra : rebase_source : 9f711462c2e0b9865793c9f4846cb7ab6a60ef32
2015-09-15 19:18:00 +02: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
Andrew McCreight
c1e26ee03e
Bug 1203314 - Make operator<< a method on unused_t. r=froydnj
...
This prevents operator overload resolution from failing when this file
is included in a file that uses Chromium IPC logging.
--HG--
extra : rebase_source : 661efe98060d405e87f828655b13c0c0a8a428e0
2015-09-10 13:17:00 +02: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
2c245dc4e2
Bug 1201190 - Part 2: Add MOZ_NON_TEMPORARY_CLASS and MOZ_RAII to mfbt, r=ehsan
2015-09-12 16:53:32 -04:00
Michael Layzell
1eaae658aa
Bug 1156802 - Part 2: Remove all explicit move constructors, r=ehsan
2015-09-12 12:34:45 -04:00
Botond Ballo
78627e8b5d
Bug 1198451 - Tests for mozilla::Function. r=froydnj
...
--HG--
extra : source : 11a2cd3e5c1e051c6bef843b45fe3701364e826a
2015-09-06 21:43:34 -04:00
Botond Ballo
9985fe899c
Bug 1198451 - Add a type-erased callable wrapper, mozilla::Function, to MFBT. r=froydnj
...
--HG--
extra : source : 90ac08992195f6e818a83019567e55e17a350901
2015-09-11 14:40:09 -04:00
Chris Peterson
a037228e4f
Bug 1202568 - Cherry-pick warning fixes from upstream double-conversion. r=Ms2ger
...
--HG--
extra : rebase_source : 732eec4f5748b54e42a23267b2023b303f213983
2015-09-05 00:38:04 -07:00
Nicholas Nethercote
b5bc43ef27
Bug 1202965 (part 1) - Add MOZ_UNUSED. r=froydnj.
2015-09-09 17:01:28 -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
Robert O'Callahan
5d455e0375
Bug 1202317. Support PodEqual over fixed-length arrays. r=Waldo
...
--HG--
extra : commitid : CojJ669FPWd
extra : rebase_source : fd81c9367dcb9dacf9e5ba137fe9a4ef31a5853e
2015-09-07 17:07:59 +12:00
Jeff Gilbert
f9055a2c4d
Bug 1193600 - Add Clamp and IsPowerOfTwo to MFBT. - r=waldo
2015-09-04 13:33:10 -07: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
Kan-Ru Chen
2c0adde7a0
Bug 1199068 - Soothe a unused variable warning in TestSplayTree.cpp. r=nfroyd
2015-08-28 11:24:47 +08:00
Makoto Kato
99df3288e2
Bug 1197734 - Add MOZ_HAVE_CXX11_CONSTEXPR_IN_TEMPLATES on VS2015+. r=Waldo
2015-08-25 16:53:25 +09:00
Mike Hommey
672db6ba31
Bug 1189967 - Avoid including <string> from Char16.h. r=nfroyd
...
Since Char16.h is included everywhere, and MSVC 2015 uses the char16ptr_t trick
it contains, we include <string> everywhere, but that has the side effect of
breaking the build in subtle ways. One way around this would be to avoid including
Char16.h in the first place, but that requires more work than I was ready to put
in. So instead, just avoid including <string> by removing the conversion operator
for std::wstring.
2015-08-23 22:20:33 +09:00
Xidorn Quan
24406b034a
Bug 1189655 - Define MOZ_HAVE_CXX11_CONSTEXPR on VS2015 or later. r=Waldo
...
--HG--
extra : source : c3fa493499954504073d8abeb7104f46c4f3f953
2015-08-21 09:17:18 +10:00
Nathan Froyd
c3c08f5b75
Bug 1196451 - tweak comment in nsRefPtr.h to be more clear; r=botond
...
DONTBUILD because this is a comment-only fix.
2015-08-20 00:59:28 -04: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
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
Michael Layzell
f8b012d537
Bug 1192130 - Part 2: Use MOZ_NON_AUTOABLE to validate the usage of already_AddRefed, r=ehsan
2015-08-14 17:33:54 -04:00
Aryeh Gregor
328b8f083b
Bug 1193298 - Part 3: Delete RefPtr<T>::operator T*()&&. r=froydnj
...
I put MOZ_HAVE_REF_QUALIFIERS in Attributes.h for lack of a better
place. I didn't especially want to make a whole new file for it.
To make the tree compile, support for moving RefPtr to nsRefPtr was
needed. I chose to put the definitions in RefPtr.h instead of
nsRefPtr.h because RefPtr.h looks to be included in fewer files, so I
preferred to bloat fewer files with the extra include.
For some reason operator!() wasn't necessary here, although it seems it
is for nsRefPtr.
2015-08-11 06:45:00 -04:00
Aryeh Gregor
d587425b77
Bug 1179451 - Part 5: Delete nsRefPtr<T>::operator T*()&&. r=froydnj
...
--HG--
extra : rebase_source : 9e1680bb0eb7c38de14cd1974fbd03988780a3bc
2015-08-13 15:22:48 +03:00
Nathan Froyd
5fb19bf30c
Bug 1193005 - delete unused function nsRefPtr::begin_assignment; r=erahm
...
We don't use it; the getter_AddRefs overload for nsRefPtr uses
StartAssignment, which is the same thing.
2015-08-11 00:23:33 -04:00
Michael Layzell
c3a87d5439
Bug 885515 - Part 2: Add MOZ_HEAP_CLASS to mfbt, r=ehsan
2015-08-09 12:42:11 -04:00
Nick Fitzgerald
26eaf483ae
Bug 1186693 - Add exhaustive matching to mozilla::Variant; r=Waldo
2015-08-08 16:43:35 -07:00
Nathan Froyd
78b4b30d08
Bug 1189894 - remove Atomics.h IntrinsicAddSub hack; r=erahm
...
This hack was only required for broken headers in GCC 4.6. Since we
only support GCC 4.7+ now, this hack is no longer necessary.
2015-07-31 22:25:21 -04: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
Makoto Kato
f75a6aad6a
Bug 1190313 - Set MOZ_HAVE_EXPLICIT_CONVERSION on VS2015. r=nfroyd
2015-08-05 17:14:42 +09:00
James Cheng
3c66e2ba33
Bug 1189231 - Refine operator() call with perfect forwarding. r=nfroyd
2015-07-30 21:16:00 -04:00
Michael Layzell
e0cec02548
Bug 1187073 - Use MOZ_INHERIT_TYPE_ANNOTATIONS_FROM_TEMPLATE_ARGS to validate the usage of AlignedStorage2. r=ehsan
...
--HG--
extra : rebase_source : 43caddb03d8bf630edd6f8f60f5dff0e8890e7b8
2015-07-31 13:59:00 -04:00
Muhsin Ali Steiman
a3e17520d3
Bug 1188895 - Replace U+0A00 with U+0200 in MacroForEach.h. r=Ms2ger
2015-08-01 00:36:00 -04:00
James Cheng
3e08229848
Bug 975246 - Part1 - Implement operator->* in nsRefPtr. r=nfroyd, r=gerald
2015-07-29 19:47:00 +02:00
Bobby Holley
97b9240b34
Bug 1188696
- Hoist nsRefPtr.h into MFBT. r=froydnj
2015-07-29 10:44:59 -07:00
Ehsan Akhgari
91324a3c5a
Bug 1188204 - Fix more constructors in MFBT; r=froydnj
2015-07-28 12:24:39 -04:00
Oliver Henshaw
094a6a5246
Bug 1186126 - Note incompatibility with NSPR printf-like functions. r=nfroyd
...
printf-like functions
2015-07-27 10:08:00 +02:00
Liang-Heng Chen
2d9863ad53
Bug 1185706 - support Tie() for mozilla::Pair. r=froydnj
2015-07-24 00:42:00 +02:00
Ehsan Akhgari
20eee585a6
Bug 1159433 - Part 2: Add the MOZ_NON_MEMMOVABLE and MOZ_NEEDS_MEMMOVABLE_TYPE macros to MFBT; r=froydnj
2015-07-24 19:15:18 -04:00
Michael Layzell
69cc6fcb31
Bug 1123907 - Part 2: Add MOZ_NEEDS_NO_VTABLE_TYPE to Attributes.h, and use it to verify the EntryType argument of nsTHashtable; r=ehsan
2015-07-24 19:14:09 -04:00
Nick Fitzgerald
a23f223b5f
Bug 1186650 - Do not mark mozilla::Variant copy and move constructors as explicit. r=Waldo
2015-07-22 14:49:00 -04:00
Liang-Heng Chen
5a9d777bf3
Bug 1186315 - Fix TestTuple error and add it into testing list. r=nfroyd
2015-07-21 22:54:00 +02:00
Makoto Kato
4b6d56e4ff
Bug 1007050 - Remove std::isinf workaround for MSVS. r=Waldo
2015-07-23 14:52:29 +09:00
David Major
ec86960f3c
Bug 1185686: Fix Atomics.h ifdefs for clang-cl. r=froydnj
2015-07-20 17:04:46 -04:00
Botond Ballo
f1d4fcd69b
Bug 1184385 - Add a Tie() utility function for tuples (the equivalent of std::tie()) to MFBT. r=froydnj
...
--HG--
extra : rebase_source : 5d6ce0668782e4f3339dbca0d15e2202b566c6b3
extra : source : 9f736422e7903a20560bb83d1832f85a28b89880
2015-07-18 03:48:39 -04:00
Nick Fitzgerald
f3f20427ee
Bug 1184235 - Add mozilla::Vector::emplaceBack; r=froydnj
2015-07-20 11:13:28 -07:00
Nick Fitzgerald
bdd6b06c87
Bug 1184839 - Provide an overloaded == operator for mozilla::Variant; r=Waldo
2015-07-19 16:32:00 +02:00
Jeff Gilbert
0616f41059
Bug 1182370 - _BitScan* does not modify `*pIndex` if input is zero. - r=waldo
2015-07-17 10:24:30 -07:00
Jeff Gilbert
d44d3d56e2
Bug 1177887
- Deref *after* changing the value held by RefPtr. - r=waldo
2015-07-16 17:15:44 -07:00
Benoit Girard
fe3dfcf5b2
Bug 1182516 - Add Chaos Mode environment variable MOZ_CHAOSMODE. r=roc
...
--HG--
extra : commitid : qfYBMvxZ7k
extra : rebase_source : 4c7098464712d7e5fa88ba1d8fba7c044772b0d6
2015-07-14 17:29:23 -04:00
Birunthan Mohanathas
a8939590de
Bug 1182996 - Fix and add missing namespace comments. rs=ehsan
...
The bulk of this commit was generated by running:
run-clang-tidy.py \
-checks='-*,llvm-namespace-comment' \
-header-filter=^/.../mozilla-central/.* \
-fix
2015-07-13 08:25:42 -07:00
Michael Layzell
1d1140657d
Bug 1180993 - Part 2: Add the MOZ_MUST_USE attribute to mfbt, and use it to verify usage of already_AddRefed. r=ehsan
2015-07-06 21:42:00 -04:00
Steve Fink
fda6cabeb6
Bug 1180299 - Implement ScopeExit for running actions at the end of a scope, r=Waldo
...
--HG--
extra : commitid : JVZx97WUQxy
extra : rebase_source : 5cef069fd3071ad305a3e3f04e0addff577b1093
2015-07-03 14:20:55 -07:00
Xidorn Quan
5ebb867d28
Bug 1175485 part 4 - Add unit test for integer range. r=waldo
...
--HG--
extra : source : 2fb0dd6ca01c21b9282e0d7637ac09c2e8539a02
2015-07-02 13:31:07 +10:00
Xidorn Quan
5ce6110994
Bug 1175485 part 3 - Remove unused operators, typedefs and IteratorTraits. r=waldo
...
--HG--
extra : source : c1d3256e987c25935cc8bd321c413a1e0c7586b3
2015-07-02 13:31:07 +10:00
Xidorn Quan
0a629d8242
Bug 1175485 part 2 - Add static_assert to MakeRange to ensure it is used with integers. r=waldo
...
--HG--
extra : source : ca970199a7f1ee9adc11019a65ef8eba1f2a491e
2015-07-02 13:31:07 +10:00
Xidorn Quan
f15e97fc12
Bug 1175485 part 1 - Allow inner iterator of ReverseIterator deref to any type, and change IntegerIterator, EnumeratedRange, and nsFrameList::Iterator to return value type instead of a reference. r=roc,waldo
...
--HG--
extra : source : 1e932a13595a1d3862f171e7e7435422d890fbf0
2015-07-02 13:31:07 +10:00
Nathan Froyd
a2f2f68970
Bug 1161627 - part 3 - remove TemporaryRef<T> from RefPtr.h; r=ehsan
2015-05-05 13:22:12 -04:00
Nathan Froyd
974d8120f2
Bug 1161627 - part 2 - machine-convert TemporaryRef<T> to already_AddRefed<T>; r=ehsan
...
This conversion was done with the script:
find . -name '*.cpp' -o -name '*.h' -o -name '*.mm' -o -name '*.idl' | \
egrep -v 'cairo-win32-refptr.h|RefPtr.h|TestRefPtr.cpp' | \
xargs sed -i -e 's/mozilla::TemporaryRef</already_AddRefed</g' \
-e 's/TemporaryRef</already_AddRefed</g'
Manual fixups were performed in the following instances:
- We handled mfbt/RefPtr.h manually so as to not convert TemporaryRef itself
into already_AddRefed.
- The following files had explicit Move() calls added to make up for the lack
of a copy constructor on already_AddRefed:
dom/base/ImageEncoder.cpp
dom/media/MediaTaskQueue.{h,cpp}
dom/media/webaudio/PannerNode.cpp
- A redundant overload for MediaTaskQueue::Dispatch was deleted.
- A few manual fixups were required in mfbt/tests/TestRefPtr.cpp.
- Comments, using declarations, and forward declarations relating to
TemporaryRef in dom/canvas/ and gfx/layers/ were changed to refer to
already_AddRefed.
2015-06-17 10:00:52 -04:00
Nick Fitzgerald
474c4d36e3
Bug 1174906 - Add a mozilla::Variant<T1, T2, ...> template class; r=Waldo
2015-06-30 10:01:00 -07:00
Markus Stange
8f3e1c59d9
Bug 1165185 - Try to avoid invalidations when scrolling transformed elements. r=roc
...
--HG--
extra : rebase_source : e044d64a50c6afff9e518cf53c51aa9658f3b41e
2015-06-15 19:20:59 -04:00
Nicholas Nethercote
f5cca86bcb
Bug 1174046 - Fix PLDHashTable::Iterator in chaos mode again. r=froydnj, a=philor
...
CLOSED TREE
If you use PLDHashTable::Iterator in chaos mode with a table with zero
capacity, a |% 0| operation takes place in randomUint32LessThan. This change
avoids that.
2015-06-11 18:23:26 -07:00
Nathan Froyd
123e1631f7
Bug 1161627 - part 1 - add move constructor and assignment operator for already_AddRefed&& to RefPtr; r=ehsan
...
This change is prep work for future mass rewriting.
2015-05-05 13:02:21 -04:00
Kartikaya Gupta
5b6ed7c5d7
Bug 1164218 - Allow running individual mochitests and reftests in chaos mode. r=roc,froydnj
2015-06-04 13:44:55 -04:00
Michael Layzell
e8c55f4a45
Bug 1169337 - Clarify MOZ_{NON_,}OWNING_REF/MOZ_UNSAFE_REF documentation. r=froydnj
2015-06-01 14:44:00 -04:00
Milan Sreckovic
b05ff05c6a
Bug 1131463 - Report AtomicRefCounterWithFinalize doing the wrong thing with AddRef and Release in release build as well. r=sotaro
2015-05-29 16:41:28 -04:00
Bobby Holley
868aa56b18
Bug 1168008 - Make IsConvertible handle void. r=gerald
2015-05-28 16:03:08 -07:00
Mike Hommey
ea7750bcb1
Bug 991983 - Define SOURCES as SourcePath. r=gps
2015-05-28 07:34:15 +09:00
Kartikaya Gupta
ddec892671
Bug 1160285 - Add a staticruntime version of mfbt and link some stuff against it. r=glandium
2015-05-27 17:22:29 -04:00
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
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
Cameron McCormack
8f0b97017a
Bug 1147766 - Part 1: Add a mozilla::RangedArray class, for fixed length arrays with a non-zero base index. r=waldo
2015-05-23 12:50:44 +10:00
Cameron McCormack
93417eae1e
Backed out changeset a6fa096f9853 and ec1c41143ff6 (bug 1147766) since I messed up the warning fix.
2015-05-23 15:51:14 +10:00
Cameron McCormack
6b806699ce
Bug 1147766 - Part 1: Add a mozilla::RangedArray class, for fixed length arrays with a non-zero base index. r=waldo
2015-05-23 12:50:44 +10:00
Phil Ringnalda
d63c42b6f0
Back out 2 changesets (bug 1147766) for -Werror bustage
...
CLOSED TREE
Backed out changeset 10d6fcd9a4e0 (bug 1147766)
Backed out changeset 5754455de846 (bug 1147766)
2015-05-22 20:24:08 -07:00
Cameron McCormack
bee32f1c18
Bug 1147766 - Part 1: Add a mozilla::RangedArray class, for fixed length arrays with a non-zero base index. r=waldo
2015-05-23 12:50:44 +10:00
Botond Ballo
eaf6e90eb3
Bug 1163329 - Add a utility for expanding a tuple into a variadic argument list to MFBT. r=froydnj
...
--HG--
extra : rebase_source : e6aaf87a75bfcbebdbd93824a0927ac89a9d2f78
extra : source : d2ccca76a74b83715edefb4414661f4a265021a3
2015-05-11 17:23:33 -04:00
Botond Ballo
11fb7202f8
Bug 1163328 - Tests for mozilla::Tuple. r=froydnj
...
--HG--
extra : source : 9e53f6a2c0d179b303d8dabec517bfcae870c1f8
2015-05-21 21:14:25 -04:00
Botond Ballo
872cd27412
Bug 1163328 - Add a Tuple class to MFBT. r=froydnj
...
--HG--
extra : source : f12a4369d58e8ed5acb244b10ce749849d61f60c
2015-05-21 22:33:49 -04:00
Botond Ballo
5d8adc885c
Bug 1163328 - Add an And<...> class to TemplateLib.h which performs logical and on a variadic number of booleans known at compile time. r=froydnj
...
--HG--
extra : source : 1869b74e535c7ef43ac3e21793847f82f2b468de
2015-05-21 22:33:39 -04:00
Nathan Froyd
db188ea282
Bug 1160485 - remove implicit conversion from RefPtr<T> to TemporaryRef<T>; r=ehsan
...
Having this implicit conversion means that we can silently do extra
refcounting when it's completely unnecessary. It's also an obstacle to
making RefPtr more nsRefPtr-like, so let's get rid of it.
2015-05-01 09:14:16 -04:00
Nathan Froyd
2e9c6d19f2
Bug 1116905 - part 4 - remove implicit conversion from non-nullptr T* to TemporaryRef<T>; r=ehsan
2015-04-30 15:21:05 -04:00
Nathan Froyd
334eeef68e
Bug 1116905 - part 2 - add MakeAndAddRef helper function to facilitate constructing TemporaryRef; r=Ms2ger
...
With implicit conversion to TemporaryRef going away, one can no longer write:
return new T(...);
in a function returning TemporaryRef<T>. Instead, provide MakeAndAddRef
to prevent people from having to construct boilerplate RefPtrs or
similar. It also makes converting from TemporaryRef to already_AddRefed
somewhat easier.
2015-04-30 15:19:49 -04:00
Nathan Froyd
3e13ec018f
Bug 1116905 - part 1 - remove dependence on implicit conversion from T* to TemporaryRef<T>, non-gfx changes; r=ehsan
2015-04-30 15:17:08 -04:00
Gerald Squelart
f330df40d4
Bug 1153295 - Add mozilla::Declval. r=nfroyd
2015-04-27 18:11:00 -04:00
Gerald Squelart
173514b341
Bug 1153295 - Add mozilla::AddRvalueReference. r=nfroyd
2015-04-27 18:07:00 -04:00
Andrew McCreight
ceaa3c66f9
Bug 1113300 - Add a way to use SegmentedVector like a stack. r=froydnj
2015-05-07 09:11:00 +02:00
Shu-yu Guo
3390ef56f7
Bug 1154115 - Rewrite profiler JSON streaming. (r=mstange)
2015-05-11 14:16:44 -07:00
Trevor Saunders
a75cca3a44
no bug - fix -Wreturn-type warning on a CLOSED TREE
2015-05-06 11:12:46 -04:00
Trevor Saunders
ea477e7198
bug 606080 - add SplayTree::LookupOrAdd r=froydnj
2015-05-06 10:57:12 -04:00
Eric Rahm
ce7747e732
Bug 1145056 - Assert that the guard notifier has been initialized. r=froydnj
...
In order to both verify that guard object notifiers are being properly used
and to silence a coverity warning about an explicit null dereference we
switch over to using a poison value rather than nullptr. An assertion is added
to make sure that the guard object notifier is properly initialized as well.
2015-04-21 16:47:52 -07:00