Jim Blandy
c6ba9aea49
Bug 1206356: Add mfbt/Random.h, implementing the xorshift128+ random number generator. r=waldo
2015-09-22 16:34:51 -07:00
James Cheng
ee6affcd8b
Bug 1204790 - Prefer deleted function with public access specifiers instead of private in UniquePtr. r=nfroyd
2015-09-15 19:18:00 +02:00
Andrew McCreight
2e4be7587d
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
d473e4a5ac
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.
2015-09-10 13:17:00 +02:00
Michael Layzell
f20336e5e1
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
db44155a72
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
2e2e2bf5ed
Bug 1156802 - Part 2: Remove all explicit move constructors, r=ehsan
2015-09-12 12:34:45 -04:00
Botond Ballo
08886f3037
Bug 1198451 - Tests for mozilla::Function. r=froydnj
2015-09-06 21:43:34 -04:00
Botond Ballo
12bc5b46c3
Bug 1198451 - Add a type-erased callable wrapper, mozilla::Function, to MFBT. r=froydnj
2015-09-11 14:40:09 -04:00
Chris Peterson
5f2318a53e
Bug 1202568 - Cherry-pick warning fixes from upstream double-conversion. r=Ms2ger
2015-09-05 00:38:04 -07:00
Nicholas Nethercote
c2a508e576
Bug 1202965 (part 1) - Add MOZ_UNUSED. r=froydnj.
2015-09-09 17:01:28 -07:00
Wes Kocher
9bcea3c39d
Backed out changeset f5b2a11c64c9 (bug 1201271) for bustage
2015-09-09 15:56:21 -07:00
Andrew McCreight
e0986ef5bc
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
038ddb54c8
Bug 1202317. Support PodEqual over fixed-length arrays. r=Waldo
2015-09-07 17:07:59 +12:00
Jeff Gilbert
6020ad60de
Bug 1193600 - Add Clamp and IsPowerOfTwo to MFBT. - r=waldo
2015-09-04 13:33:10 -07:00
Nicholas Nethercote
69d088e45f
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.
2015-08-27 20:44:53 -07:00
Kan-Ru Chen
223fbd1243
Bug 1199068 - Soothe a unused variable warning in TestSplayTree.cpp. r=nfroyd
2015-08-28 11:24:47 +08:00
Makoto Kato
16cbbc80a0
Bug 1197734 - Add MOZ_HAVE_CXX11_CONSTEXPR_IN_TEMPLATES on VS2015+. r=Waldo
2015-08-25 16:53:25 +09:00
Mike Hommey
f2a2161664
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
eee59d7dca
Bug 1189655 - Define MOZ_HAVE_CXX11_CONSTEXPR on VS2015 or later. r=Waldo
2015-08-21 09:17:18 +10:00
Nathan Froyd
b697c4bbab
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
539c5ebd2f
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
134dcc51bf
Backed out changeset 20c6f74296e2 (bug 1195154) for causing Bug 1196115
2015-08-19 20:43:11 +05:30
Xidorn Quan
0d959e07a3
Bug 1195154 - Replace operator overloads for comparing nsRefPtr to 0 with those for comparing to nullptr. r=froydnj
2015-08-19 09:09:08 +10:00
Michael Layzell
9b3c25dbd1
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
63b0eff435
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
1d86aaeb8e
Bug 1179451 - Part 5: Delete nsRefPtr<T>::operator T*()&&. r=froydnj
2015-08-13 15:22:48 +03:00
Nathan Froyd
7035ff44dc
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
31aee9c961
Bug 885515 - Part 2: Add MOZ_HEAP_CLASS to mfbt, r=ehsan
2015-08-09 12:42:11 -04:00
Nick Fitzgerald
2d2a9c527c
Bug 1186693 - Add exhaustive matching to mozilla::Variant; r=Waldo
2015-08-08 16:43:35 -07:00
Nathan Froyd
2dafe5a1d6
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
0369104893
Bug 1056356 - Add support for nsRefPtr<const T>. r=froydnj
2015-08-05 13:52:06 -04:00
Aryeh Gregor
3713e55caa
Bug 1190823 - Move OwningNonNull.h to xpcom/base/; r=froydnj
2015-08-05 15:28:27 +03:00
Makoto Kato
2efd915f21
Bug 1190313 - Set MOZ_HAVE_EXPLICIT_CONVERSION on VS2015. r=nfroyd
2015-08-05 17:14:42 +09:00
James Cheng
50aa18ff1e
Bug 1189231 - Refine operator() call with perfect forwarding. r=nfroyd
2015-07-30 21:16:00 -04:00
Michael Layzell
fda9eeaa3a
Bug 1187073 - Use MOZ_INHERIT_TYPE_ANNOTATIONS_FROM_TEMPLATE_ARGS to validate the usage of AlignedStorage2. r=ehsan
2015-07-31 13:59:00 -04:00
Muhsin Ali Steiman
5d2ccdb9cc
Bug 1188895 - Replace U+0A00 with U+0200 in MacroForEach.h. r=Ms2ger
2015-08-01 00:36:00 -04:00
James Cheng
43f57cf317
Bug 975246 - Part1 - Implement operator->* in nsRefPtr. r=nfroyd, r=gerald
2015-07-29 19:47:00 +02:00
Bobby Holley
59c4d9cf6c
Bug 1188696 - Hoist nsRefPtr.h into MFBT. r=froydnj
2015-07-29 10:44:59 -07:00
Ehsan Akhgari
328ec430c7
Bug 1188204 - Fix more constructors in MFBT; r=froydnj
2015-07-28 12:24:39 -04:00
Oliver Henshaw
994b7de568
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
236aa9654e
Bug 1185706 - support Tie() for mozilla::Pair. r=froydnj
2015-07-24 00:42:00 +02:00
Ehsan Akhgari
fdd8d94d9c
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
52acf71f79
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
9bd2360913
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
4c1c9e0195
Bug 1186315 - Fix TestTuple error and add it into testing list. r=nfroyd
2015-07-21 22:54:00 +02:00
Makoto Kato
9bc8fd7b23
Bug 1007050 - Remove std::isinf workaround for MSVS. r=Waldo
2015-07-23 14:52:29 +09:00
David Major
b575d56915
Bug 1185686: Fix Atomics.h ifdefs for clang-cl. r=froydnj
2015-07-20 17:04:46 -04:00
Botond Ballo
e9aca371fa
Bug 1184385 - Add a Tie() utility function for tuples (the equivalent of std::tie()) to MFBT. r=froydnj
2015-07-18 03:48:39 -04:00
Nick Fitzgerald
801e65b0ec
Bug 1184235 - Add mozilla::Vector::emplaceBack; r=froydnj
2015-07-20 11:13:28 -07:00
Nick Fitzgerald
63d6aec97b
Bug 1184839 - Provide an overloaded == operator for mozilla::Variant; r=Waldo
2015-07-19 16:32:00 +02:00
Jeff Gilbert
84866765dc
Bug 1182370 - _BitScan* does not modify *pIndex
if input is zero. - r=waldo
2015-07-17 10:24:30 -07:00
Jeff Gilbert
022bd5a118
Bug 1177887 - Deref *after* changing the value held by RefPtr. - r=waldo
2015-07-16 17:15:44 -07:00
Benoit Girard
0d865b0172
Bug 1182516 - Add Chaos Mode environment variable MOZ_CHAOSMODE. r=roc
2015-07-14 17:29:23 -04:00
Birunthan Mohanathas
47ed3a3675
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
8aa5182766
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
00d2cad857
Bug 1180299 - Implement ScopeExit for running actions at the end of a scope, r=Waldo
2015-07-03 14:20:55 -07:00
Xidorn Quan
5d84fcf3df
Bug 1175485 part 4 - Add unit test for integer range. r=waldo
2015-07-02 13:31:07 +10:00
Xidorn Quan
53de407d80
Bug 1175485 part 3 - Remove unused operators, typedefs and IteratorTraits. r=waldo
2015-07-02 13:31:07 +10:00
Xidorn Quan
f8c508bba7
Bug 1175485 part 2 - Add static_assert to MakeRange to ensure it is used with integers. r=waldo
2015-07-02 13:31:07 +10:00
Xidorn Quan
d33f9fcb90
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
2015-07-02 13:31:07 +10:00
Nathan Froyd
35c59484c7
Bug 1161627 - part 3 - remove TemporaryRef<T> from RefPtr.h; r=ehsan
2015-05-05 13:22:12 -04:00
Nathan Froyd
8780083336
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
5fd903f1f1
Bug 1174906 - Add a mozilla::Variant<T1, T2, ...> template class; r=Waldo
2015-06-30 10:01:00 -07:00
Markus Stange
2e0f2286ad
Bug 1165185 - Try to avoid invalidations when scrolling transformed elements. r=roc
2015-06-15 19:20:59 -04:00
Nicholas Nethercote
92023d72af
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
0bd78f32c5
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
b27c900e71
Bug 1164218 - Allow running individual mochitests and reftests in chaos mode. r=roc,froydnj
2015-06-04 13:44:55 -04:00
Michael Layzell
9ff15bc8e0
Bug 1169337 - Clarify MOZ_{NON_,}OWNING_REF/MOZ_UNSAFE_REF documentation. r=froydnj
2015-06-01 14:44:00 -04:00
Milan Sreckovic
28f547eed4
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
ecae551a8c
Bug 1168008 - Make IsConvertible handle void. r=gerald
2015-05-28 16:03:08 -07:00
Mike Hommey
4245f5c436
Bug 991983 - Define SOURCES as SourcePath. r=gps
2015-05-28 07:34:15 +09:00
Kartikaya Gupta
c28affdcba
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
ad4aea9284
Bug 1119980 - Use 'snprintf' instead of 'sprintf' to avoid a warning on Lollipop-based builds. r=froydnj
2015-05-26 14:33:55 -04:00
Phil Ringnalda
7886a51923
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
eeb3ca1139
Bug 1119980 - Use 'snprintf' instead of 'sprintf' to avoid a warning on Lollipop-based builds. r=froydnj
2015-05-25 20:45:17 -04:00
Cameron McCormack
1014c31498
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
f3b784c38e
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
35b469559c
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
919dabf5a5
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
681e4115c8
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
41f0e415b3
Bug 1163329 - Add a utility for expanding a tuple into a variadic argument list to MFBT. r=froydnj
2015-05-11 17:23:33 -04:00
Botond Ballo
74fe1f6859
Bug 1163328 - Tests for mozilla::Tuple. r=froydnj
2015-05-21 21:14:25 -04:00
Botond Ballo
dd2280da05
Bug 1163328 - Add a Tuple class to MFBT. r=froydnj
2015-05-21 22:33:49 -04:00
Botond Ballo
f5614ddf55
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
2015-05-21 22:33:39 -04:00
Nathan Froyd
bb51644dac
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
2e5b14f818
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
ce6cd322c7
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
ac7e1768b8
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
00a33b3cfd
Bug 1153295 - Add mozilla::Declval. r=nfroyd
2015-04-27 18:11:00 -04:00
Gerald Squelart
fba7e2edc1
Bug 1153295 - Add mozilla::AddRvalueReference. r=nfroyd
2015-04-27 18:07:00 -04:00
Andrew McCreight
2dfb86e048
Bug 1113300 - Add a way to use SegmentedVector like a stack. r=froydnj
2015-05-07 09:11:00 +02:00
Shu-yu Guo
b75c46733e
Bug 1154115 - Rewrite profiler JSON streaming. (r=mstange)
2015-05-11 14:16:44 -07:00
Trevor Saunders
264d3d4829
no bug - fix -Wreturn-type warning on a CLOSED TREE
2015-05-06 11:12:46 -04:00
Trevor Saunders
1e2a03d4fb
bug 606080 - add SplayTree::LookupOrAdd r=froydnj
2015-05-06 10:57:12 -04:00
Eric Rahm
6b37859755
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
Andrew McCreight
3af0e9963c
Bug 1062479 - Use static strings for WeakReference type names. r=ehsan
2015-04-24 09:43:01 -07:00
Jim Blandy
72afa30eaa
NO BUG: Remove incorrect comment about not being able to use variadic templates. DONTBUILD r=waldo
2015-04-23 16:48:19 -07:00
Jeff Walden
437f7dfeeb
Bug 1140752 - Land code to self-host %TypedArray%.prototype.set, but don't enable it yet, pending perf-testing. This shouldn't make any changes to the build, except in terms of adding more code to it and affecting binary layout. r=jandem, also much feedback from till that effectively amounts to a review as well
2015-03-04 00:04:53 -08:00
Ehsan Akhgari
0915a15420
Bug 1153348 - Add an analysis to prohibit operator bools which aren't marked as either explicit or MOZ_IMPLICIT; r=jrmuizel
...
This is the counterpart to the existing analysis to catch
constructors which aren't marked as either explicit or
MOZ_IMPLICIT.
2015-04-21 21:40:49 -04:00