Commit Graph

963 Commits

Author SHA1 Message Date
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
Wes Kocher
5c13924153 Backed out changeset 02e6a50741a9 (bug 1153348) to hopefully fix the static bustage CLOSED TREE 2015-04-21 15:47:40 -07:00
Ehsan Akhgari
783d64de67 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 16:31:58 -04:00
Seth Fowler
4f4dac309f Bug 1155864 - Rip out Windows intrinsics from Atomics.h and allow Atomic to hold 64-bit types everywhere. r=Waldo 2015-04-17 18:40:52 -07:00
Jim Blandy
b818a4adbe Bug 1145051: Use MOZ_WARN_UNUSED_RESULT instead of NS_WARN_UNUSED_RESULT. r=glandium 2015-03-19 00:46:40 -07:00
Jim Blandy
bb247ca22e Bug 1145051: Replace uses of NS_ATTR_MALLOC with new MOZ_ALLOCATOR from mfbt/Attributes.h. r=glandium 2015-03-18 23:56:08 -07:00
Wes Kocher
a1e2ef2143 Backed out changeset 42ed856b37d9 (bug 1153382) to see if it unbreaks e10s-bc1 CLOSED TREE 2015-04-15 16:45:41 -07:00
Terrence Cole
db759f4a61 Bug 1153382 - Make poison values more toxic when used as a Value; r=sfink 2015-04-13 09:56:02 -07:00
David Major
a7c442b84d Bug 1154104 - Clean up atomics code for old Visual Studio versions. r=nfroyd 2015-04-13 17:13:00 +02:00
Donato Sciarra
d2d9aadc62 Bug 1119086 - already_AddRefed should define copy/move assignment operators. r=nfroyd 2015-04-10 14:03:00 +02:00
Heiher
9c338320b6 Bug 1153601 - MFBT: LZ4: Add support for mips64. r=waldo 2015-04-11 22:40:00 +02:00
neil@parkwaycc.co.uk
cb00f3ba31 Bug 1145056 - Coverity complains on every use of MutexAutoLock and GuardObjectNotifier. r=froydnj 2015-03-19 08:18:00 -07:00
Randall Barker
699f5b6a9b Bug 1093934 - Create a XPCOM library that can be used to support standalone WebRTC. r=nfroyd 2015-04-03 15:52:00 +02:00
Wes Kocher
30b1a68c39 Backed out changeset 0f5799df920b (bug 1093934) for various test failures CLOSED TREE 2015-04-02 13:42:34 -07:00
Randall Barker
8d0b822616 Bug 1093934 - Create a XPCOM library that can be used to support standalone WebRTC r=froydnj 2015-04-02 12:12:37 -07:00
Jonathan Watt
14ebbe252b Bug 1147491, part 2 - Disable use of BaseTimeDuration::operator/ with floating point values. r=ehsan 2015-03-30 16:27:13 +01:00
Nicolas B. Pierron
25bf5752ac Bug 1143011 - Extract the has/add/take logic out of the register sets to distinguish between allocatable and live sets. r=jandem,Waldo 2015-03-28 01:08:12 +01:00
Nicolas B. Pierron
036bd80284 Bug 1142999 - Remove gcc warning about unused typedef. r=ehoogeveen 2015-03-25 09:47:00 -04:00
Emanuel Hoogeveen
0a121d4002 Bug 1142999 - Add an EnumeratedRange class to iterate EnumeratedArrays. r=nfroyd 2015-03-23 15:06:00 -04:00
Maksim Lebedev
5285f1c9ba Bug 1105766 - Part 2: A couple of additions to enable compilation on Windows Phone 8. r=terrence r=ehoogeveen 2015-03-21 15:24:00 +01:00
Ehsan Akhgari
7a5fd7382d Bug 1145631 - Part 6: Remove MOZ_OVERRIDE and MOZ_FINAL; r=froydnj 2015-03-21 12:28:53 -04:00
Ehsan Akhgari
5cccea6f0f Bug 1145631 - Part 1: Replace MOZ_OVERRIDE and MOZ_FINAL with override and final in the tree; r=froydnj
This patch was automatically generated using the following script:

function convert() {
echo "Converting $1 to $2..."
find . \
       ! -wholename "*/.git*" \
       ! -wholename "obj-ff-dbg*" \
         -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 MOZ_OVERRIDE override
convert MOZ_FINAL final
2015-03-21 12:28:04 -04:00
Bob Owen
60b1bc327d Bug 1144155 Part 2: Bump the MFBT GCC requirement to 4.7. r=glandium 2015-03-19 10:56:13 +00:00
Seth Fowler
10826a7eac Bug 1143077 (Followup) - Add assignments to Pair test. 2015-03-17 19:40:17 -07:00
Seth Fowler
d629807f7f Bug 1143077 - Add assignment operators to mozilla::Pair. r=waldo 2015-03-17 13:56:49 -07:00
Nathan Froyd
db1602c021 Bug 1143014 - fix header sort order in mfbt/; r=Ms2ger 2015-03-13 11:53:02 -04:00
Masayuki Nakano
ddd4ccd6c3 Bug 1061604 part.0 Add IsWin10OrLater() r=jimm 2015-03-13 21:51:00 +09:00
Seth Fowler
b92fe7e589 Bug 1142376 - Allow copying of mozilla::Pair objects. r=waldo 2015-03-12 17:44:30 -07:00
Seth Fowler
fcab02dc69 Bug 1142366 - Add an equivalent of std::make_pair for mozilla::Pair. r=waldo 2015-03-12 17:44:28 -07:00
Nick Fitzgerald
f57ac43aee Bug 1139993 - Add VectorBase::ConstRange that gives out |const T&| entries. r=Waldo 2015-03-06 15:37:00 -05:00
Gerald Squelart
19883e7ee7 Bug 1131445 - variadic NS_NewRunnableMethodWithArgs with storage&passing argument type decorators. r=waldo 2015-03-01 18:12:00 +01:00
Gerald Squelart
a9c43bbea9 Bug 1137583 - Fix for CV-qualified pointers; Added tests. r=waldo 2015-03-01 18:08:00 +01:00
Dan Gohman
3a947820fc Bug 1131783 - Optimize away null checks in non-POD Vectors too r=waldo 2015-02-12 08:37:01 -08:00
Dan Gohman
45a9e8d6b5 Bug 1131783 - Optimize away null checks in Vectors of POD r=waldo 2015-02-12 08:37:01 -08:00
Dan Gohman
fa56e119f1 Bug 1131783 - Mark various unlikely conditions as MOZ_UNLIKELY r=waldo 2015-02-12 08:37:01 -08:00
Mike Hommey
837ac3f6f8 Bug 1121269 - Add an AutoCleanLinkedList template that removes and deletes elements upon destruction. r=Waldo 2015-02-11 10:21:02 +09:00
Andrew McCreight
a38ee3890e Back out Bug 1127201 (part 1) for various problems. 2015-02-06 15:05:08 -08:00
Nicholas Nethercote
f9f2575aa6 Bug 1127201 (part 1) - Let MOZ_ASSERT take a string variable as the second arg. r=Waldo.
ASSERT_UNLESS_FUZZING() (which is defined multiple times!) caused problems due
when __VA_ARGS__ was empty which is most of the time. So I just disallowed the
optional string, which was only used in a small fraction of the occurrences.

I don't particularly like this patch. I'm not convinced its any better than
just removing the nsPrintfCString()s like I did earlier, but I've done it to at
least show what's involved.
2015-02-04 19:42:29 -08:00
Nick Fitzgerald
fea8ff2431 Bug 1129559 - Implement move construction for mozilla::MaybeOneOf; r=jandem 2015-02-04 13:34:18 -08:00
Bobby Holley
2aead0ce0b Bug 1129247 - Introduce MOZ_DIAGNOSTIC_ASSERT. r=Waldo 2015-02-04 13:13:58 -08:00
Xidorn Quan
3f9814a13c Bug 1126701 - Add IntegerRange for iterating integers. r=waldo 2015-02-04 19:07:32 +11:00
Xidorn Quan
e7e326d1e6 Bug 1127044 part 2 - Add ReverseIterator template class. r=waldo 2015-02-04 19:07:32 +11:00
Xidorn Quan
a9a5b796da Bug 1127044 part 1 - Add IteratorTraits facility. r=waldo 2015-02-04 19:07:32 +11:00
Birunthan Mohanathas
48741e37ed Bug 1120796 - Part 2: Replace ConvertibleToBool hackarounds with explicit bool operators. r=Waldo 2015-02-03 18:52:36 +02:00
Birunthan Mohanathas
37ea92b9bf Bug 1120796 - Part 1: Prepare code for explicit bool operators. r=Waldo 2015-02-03 18:52:28 +02:00
Dan Gohman
bae503b3f0 Bug 1125185 - Define MOZ_COLD for marking "cold" functions r=waldo 2015-01-26 17:30:19 -08:00
Masatoshi Kimura
f1b5ace064 Bug 1111290 - Part 3: Remove TypedEnum.h and fold TypedEnumInternal.h into TypedEnumBits.h. r=waldo 2015-01-26 07:22:11 +09:00
Masatoshi Kimura
e4e75cdb99 Bug 1111290 - Part 2: Non-mechanical changes. r=waldo 2015-01-26 07:22:08 +09:00
Masatoshi Kimura
222483b6f4 Bug 1111290 - Part 1: Remove MOZ_(BEGIN|END)_ENUM_CLASS. r=waldo 2015-01-26 07:22:07 +09:00
Jan de Mooij
2c357beb68 Bug 1004028 - Enable assertion type validation on MSVC. r=Waldo,terrence 2015-01-24 14:40:27 +01:00
Xidorn Quan
1856893b09 Bug 1124029 - Fix unsigned/signed mismatch in MathAlgorithms. r=waldo 2015-01-23 08:29:36 +11:00
Masatoshi Kimura
858165fd65 Bug 895582 - Get rid of MOZ_ENUM_TYPE. r=waldo 2015-01-21 22:35:19 +09:00
Ehsan Akhgari
db37f3e8bf Bug 1121489 follow-up: Addresss the review comment 2015-01-19 09:07:57 -05:00
Ehsan Akhgari
2a911035e1 Bug 1121489 - Make it possible to construct a RefPtr from an already_AddRefed; r=froydnj
This will pave the way towards having a MakeAndAddRef function
that returns an already_AddRefed and can be used in graphics code.
2015-01-19 09:00:01 -05:00
Ben Kelly
be8a2d4402 Bug 1122160 Follow-up to fix spelling typo in comment. rs=themaid DONTBUILD 2015-01-16 10:22:43 -05:00
Ben Kelly
8e1c7e285b Bug 1122160 Add operator+=() and operator-=() to DebugOnly r=froydnj 2015-01-16 09:59:32 -05:00
Trevor Saunders
d4606517a6 bug 1077549 - remove useless gcc version checks r=glandium 2015-01-15 21:30:05 -05:00
Jim Blandy
b7a9b5ed13 Bug 1121080: Fix comments in Move.h explaining perfect forwarding. DONTBUILD r=waldo 2015-01-13 10:48:58 -08:00
Brian Smith
84be890f8d Bug 1119075, Part 2: Fix typo, r=waldo 2015-01-14 15:45:48 -08:00
Brian Smith
7cc31e9b8e Bug 1119776, Part 4: Avoid defining snprintf when MSVC provides it (MFBT), r=waldo 2015-01-08 22:33:03 -08:00
Brian Smith
7dbe571054 Bug 1119080: Convert the already_Addrefed Derived->Base conversion operator into a move constructor, r=waldo 2015-01-07 20:32:55 -08:00
Masatoshi Kimura
9ec583b834 Bug 1120062 - Part 2: Remove use of IsNullPointer. r=waldo 2015-01-15 02:09:11 +09:00
Ehsan Akhgari
9bdf153c1c Bug 1120622 - Define MOZ_SUPPORT_ASSERT_CONDITION_TYPE_VALIDATION for all gcc versions now that we don't support 4.4 any more; r=froydnj 2015-01-14 09:00:34 -05:00
Ehsan Akhgari
1daf9e4270 Bug 1120620 - Bump the MFBT gcc requirement to 4.6; r=froydnj 2015-01-14 09:00:33 -05:00
Brian Smith
667fd2c5af Bug 1119075: Use standard unicode literals with VS2015 and later, r=waldo 2015-01-07 13:49:32 -08:00
Ehsan Akhgari
1f84093acc Backed out changeset 11aebde6e809 (bug 1120059) because of build bustage on Windows 2015-01-13 00:26:16 -05:00
Birunthan Mohanathas
0ee5315a92 Bug 1120059 - Remove MOZ_{HAVE_,}EXPLICIT_CONVERSION. r=Waldo 2015-01-13 06:41:15 +02:00
Xidorn Quan
9ec69f4904 Bug 1119199 - Rewrite HashFunctions with variadic templates. r=waldo 2015-01-13 10:48:10 +11:00
Xidorn Quan
95e222e3a6 Bug 1119199 - Rewrite UniquePtr with variadic template. r=waldo 2015-01-13 10:48:10 +11:00
Xidorn Quan
d071cd0f8e Bug 1119199 - Rewrite MaybyOneOf with variadic template. 2015-01-13 10:48:10 +11:00
Xidorn Quan
f9d2650ae6 Bug 1119199 - Rewrite Maybe::emplace with variadic template. r=waldo 2015-01-13 10:48:10 +11:00
Wes Kocher
8b2646833a Backout e891f69a7edc 2015-01-12 14:46:17 -08:00
Wes Kocher
82145d9bee Backout 73fcb9fa303d 2015-01-12 14:46:01 -08:00
Ehsan Akhgari
edb2bd86cd Bug 1120622 - Define MOZ_SUPPORT_ASSERT_CONDITION_TYPE_VALIDATION for all gcc versions now that we don't support 4.4 any more; r=froydnj 2015-01-12 16:35:09 -05:00
Ehsan Akhgari
f48483d708 Bug 1120620 - Bump the MFBT gcc requirement to 4.6; r=froydnj 2015-01-12 16:35:08 -05:00
Masatoshi Kimura
40a556102e Bug 1120062 - Part 1: Remove most Nullptr.h includes. r=waldo 2015-01-11 11:34:52 +09:00
Chris Peterson
90751d5a6c Bug 1118076 - Remove MOZ_THIS_IN_INITIALIZER_LIST. r=Waldo 2015-01-06 21:39:46 -08:00
Ehsan Akhgari
76db9613c1 Bug 1118486 - Part 2: Remove MOZ_DELETE macro and use = delete directly; r=Waldo 2015-01-09 09:44:05 -05:00
Chris Peterson
bba1ac8b2d Bug 1118529 - Remove MSIntTypes.h. r=Waldo 2015-01-06 21:41:15 -08:00
Nicholas Nethercote
18091a4ab9 Bug 1057134 - Remove std::_Debug_message linking hack that's no longer needed. r=dmajor.
--HG--
extra : rebase_source : 53ee0cebc42269dcc228cfc5a18b0288e13716f3
2015-01-08 21:59:43 -08:00
Ehsan Akhgari
bd52bd3f4e Bug 1118486 - Part 1: Use = delete instead of MOZ_DELETE directly; r=Waldo
Most of this patch (with the exception of dom/bindings/Codegen.py) was
generated by the following bash script:

#!/bin/bash

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*/.hg*" \
       ! -wholename "*/.git*" \
       ! -wholename "obj-*" \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -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 MOZ_DELETE '= delete'
2015-01-08 23:19:05 -05:00
Ehsan Akhgari
2379621af0 Bug 1119071 - Clean up some code used for older unsupported MSVC versions in MFBT; r=froydnj 2015-01-08 10:40:15 -05:00
David Major
353892f9b9 Bug 1119030: Make MOZ_CRASHes unique to prevent compiler folding. r=Waldo
--HG--
extra : rebase_source : f8401e3eee6c62545553452e355c8213480a869d
2015-01-08 19:13:04 +13:00
Ehsan Akhgari
0d93bb1ca7 Bug 1116906 - Move AlreadyAddRefed.h to MFBT; r=froydnj 2015-01-07 11:51:29 -05:00
Ehsan Akhgari
3799d571b8 Bug 1114999 - Part 2: Apply MOZ_NO_ADDREF_RELEASE_ON_RETURN to all smart pointer arrow operators that can return refcounted objects; r=jrmuizel 2015-01-06 16:30:03 -05:00
Ehsan Akhgari
2fc592bff0 Bug 1114987 - Add MOZ_UNSAFE_REF and mark GlobalObject::mGlobalObject as such; r=smaug 2015-01-05 21:01:30 -05:00
Ehsan Akhgari
38ae0bc54f Bug 1116622 - Give TemporaryRef a take() method semantically equivalent to already_AddRefed::take(); r=froydnj
This is in preparation of removing TemporaryRef.  It should help make
already_AddRefed a drop-in replacement for it.
2015-01-05 11:32:37 -05:00
Ehsan Akhgari
43cd2ad315 Bug 1117036 - Make it possible to optionally mark functions defined by MOZ_DECLARE_REFCOUNTED_VIRTUAL_TYPENAME as MOZ_OVERRIDE; r=froydnj 2015-01-05 11:28:55 -05:00
Chris Peterson
728d92a7d3 Bug 1114724 - Define PRIuSIZE format specifiers for size_t. r=Waldo 2014-12-21 23:30:06 -08:00
Ehsan Akhgari
c9b06aba01 Bug 1114880 follow-up: Rename MOZ_{STRONG,WEAK}_REF to MOZ_{OWNING,NON_OWNING}_REF
--HG--
extra : rebase_source : 51fff0785d112b5b87be3c6ff723c8986b37effe
2014-12-23 21:17:50 -05:00
Ehsan Akhgari
29dee5fb33 Bug 1114979 - Annotate some strong and weak references in MFBT; r=froydnj
--HG--
extra : rebase_source : 63d9ca59f8f6be06efd087600c8fd5c5f52e5cd1
2014-12-23 17:26:28 -05:00
Dan Gohman
ad1ced437b Bug 1113445 - SpiderMonkey: Handle -0 properly in SIMD.float32x4.signMask r=bbouvier,waldo 2014-12-23 13:52:49 -08:00
Ehsan Akhgari
2968daa4a4 Bug 1114696 - Add MOZ_STRONG_REF and MOZ_WEAK_REF annotations; r=froydnj 2014-12-22 18:16:55 -05:00
Ehsan Akhgari
c102783127 Bug 1114267 - Part 2: Add MOZ_TRIVIAL_CTOR_DTOR to MOZ_ONLY_USED_TO_AVOID_STATIC_CONSTRUCTORS in non-debug builds; r=jrmuizel 2014-12-22 18:16:16 -05:00
Ehsan Akhgari
e66c428356 Bug 773014 - Part 2: Mark Static{Auto,Ref}Ptr as global-only; r=jrmuizel 2014-12-22 18:10:44 -05:00
Jacek Caban
91512e330e Bug 1114368 - Use GCC builtins in MathAlgorithms.h on mingw. r=froydnj 2014-12-22 12:38:41 +01:00
Ehsan Akhgari
f18ffaa363 Bug 1114351 - Use mozilla::IsNaN() in DOUBLE_TO_JSVAL(); r=Waldo
Note that this requires making sure that IsNaN is constexpr because it
needs to be passed to the constexpr IMPL_TO_JSVALUE() function in
DOUBLE_TO_JSVAL().

--HG--
extra : amend_source : dbd8bb0659b53e7d36d2600ac97f0a753ef772c7
2014-12-21 19:16:49 -05:00
Ehsan Akhgari
76e3eddf4f Clarify the MakeUnique documentation (comment only change, no bug)
DONTBUILD, CLOSED TREE

--HG--
extra : amend_source : 92e8482f1dfb6f9f47acdec1e570d62887257122
2014-12-19 17:51:10 -05:00
Benjamin Peterson
46e70d4001 No bug - fix typo r=me 2014-12-19 12:40:30 -06:00
Ehsan Akhgari
85b0d6dac6 Bug 867348 - Part 2: Apply MOZ_NO_ARITHMETIC_EXPR_IN_ARGUMENT to CheckedInt's constructor; r=jrmuizel,cpearce
Note that the analysis currently just looks at the AST subtree of the
function call site and is therefore unable to correctly deal with cases
such as the last two hunks of the change to OggCodecState.cpp.  Fixing
the analysis to deal with that would be very difficult, so we currently
adjust the code so that it compiles.  The first hunk in that file though
is a real bug that this analysis found.
2014-12-18 15:27:05 -05:00
Ryan VanderMeulen
c51c7d8b9a Backed out changesets acb4dd16755c and 40768f723990 (bug 867348) for static analysis bustage.
CLOSED TREE
2014-12-18 15:59:51 -05:00
Ehsan Akhgari
eef6ef9805 Bug 867348 - Part 2: Apply MOZ_NO_ARITHMETIC_EXPR_IN_ARGUMENT to CheckedInt's constructor; r=jrmuizel
Note that the analysis currently just looks at the AST subtree of the
function call site and is therefore unable to correctly deal with cases
such as the last two hunks of the change to OggCodecState.cpp.  Fixing
the analysis to deal with that would be very difficult, so we currently
adjust the code so that it compiles.  The first hunk in that file though
is a real bug that this analysis found.

--HG--
extra : rebase_source : b44bb6d90d95551d860e0b5a1afcf2bb35cde084
2014-12-18 15:27:05 -05:00
Ehsan Akhgari
6459c43ef8 Bug 1111255 - Remove some code specific to MSVC7 from MFBT; r=froydnj
--HG--
extra : amend_source : 3662850820de462e108212626dc7bc1c9e22122e
2014-12-14 14:58:13 -05:00
Ehsan Akhgari
0bf99c7386 Bug 1111247 - Treat C++11 enum types as available on all MSVC versions; r=froydnj
Since we don't support anything older than MSVC2005...

--HG--
extra : amend_source : 80ad15c08f19448f8e896989392c78f1437e982d
2014-12-14 14:56:23 -05:00
Nicholas Nethercote
8f6ce9cbe4 Bug 1109407 - Give SegmentedVector a default segment size. r=froydnj.
--HG--
extra : rebase_source : 0ceae77c9fec06bbd8c3231434f62fc0e83d9bf1
2014-12-11 14:11:43 -08:00
Ehsan Akhgari
c13155ecb9 Bug 1109729 - Fix more bad implicit constructors in mfbt; r=froydnj 2014-12-10 17:47:42 -05:00
Nicholas Nethercote
af3f96aef4 Bug 1102525 (part 2) - Add SegmentedVector to MFBT. r=froydnj.
This is based on the SegmentedArray type from nsCycleCollector.cpp.

--HG--
extra : rebase_source : 06d2feea3233e5ddd3c47d18c53a661de8a06bb2
2014-12-08 14:45:13 -08:00
Nicholas Nethercote
a380fc6e28 Bug 1102525 (part 1) - Add InfallibleAllocPolicy to mozalloc. r=glandium.
--HG--
extra : rebase_source : a79162fb7f73e52c5c8df29c8229efc64c3451e5
2014-12-08 14:45:10 -08:00
Jeff Walden
f70bb237d7 Bug 1105261 - Revert fresh vectors to not prereserving their inline allocation space, because the guaranteed extent of that space is an implementation detail. r=nbp 2014-11-26 16:01:19 -05:00
Phil Ringnalda
b978aefc5b Backed out 2 changesets (bug 1052139, bug 1105261) for b2g desktop crashes
CLOSED TREE

Backed out changeset 72c672d91f9c (bug 1052139)
Backed out changeset e3ce0e3a147c (bug 1105261)
2014-12-01 18:25:53 -08:00
Jeff Walden
3ed70b1ec9 Bug 1105261 - Revert fresh vectors to not prereserving their inline allocation space, because the guaranteed extent of that space is an implementation detail. r=nbp
--HG--
extra : rebase_source : ec5431786f504651b1f8a4a019da6e537b6ac175
2014-11-26 16:01:19 -05:00
Masatoshi Kimura
23528b292d Bug 1094012 - Assume Win7 or later on Win64. r=jimm 2014-11-24 22:18:10 +09:00
Nathan Froyd
ea5de74f9c Bug 1099251 - make ChaosMode's behavior modifications more finely-grained selectable; r=roc 2014-11-14 13:12:51 -05:00
Matthew Gregan
002c42bb98 Bug 1097512 - Allow using compound operators where the LHS and RHS are both CheckedInt<T>. r=jwalden+bmo 2014-11-14 16:13:23 +13:00
Tom Tromey
b8851f5955 Bug 1093823 - Avoid valgrind report from ThreadLocal<bool>. r=froydnj 2014-11-07 08:41:00 -05:00
Dan Gohman
9f02beb859 Bug 1094052 - IonMonkey: Fix range analysis for Math.sign(-0) r=nbp,h4writer 2014-11-05 08:38:40 -08:00
Nicholas Nethercote
3b6982b11b Bug 1091986 (part 1) - Remove an over-zealous assertion in Vector.h. 2014-10-30 19:48:10 -07:00
Jim Blandy
c85a880032 Bug 1091882: Simplify some uses of mozilla::PointerRangeSize, and clarify comment. r=waldo 2014-11-03 15:55:59 -08:00
Jacek Caban
16e6545e3d Bug 1091594 - Added explicit integer casts to char16ptr_t. r=jmathies
--HG--
extra : rebase_source : b351ddfcd263c8dfee436f00ab8a917d8bfc36e2
2014-11-03 14:09:48 +01:00
Mike Hommey
21ec48314e 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
David Rajchenbach-Teller
5ef5b3acf4 Bug 1075134 - MOZ_LSAN macros. r=froydnj 2014-10-21 13:00:54 +02:00
Ehsan Akhgari
4db1e110ea Bug 1080968 - Add support for constexpr and explicit conversions on clang-cl; r=froydnj
--HG--
extra : rebase_source : ef22967d83577e70d5e6e122bf5322f31eeb97d0
2014-10-10 18:29:56 -04:00
Ehsan Akhgari
e39bb4d04e Bug 1080946 - Don't mark ASAN poisoning functions as dllexport on Windows; r=njn
--HG--
extra : rebase_source : da03e54614b995138ecaead7ae1ef7b35daf3961
2014-10-10 10:33:16 -04:00
David Major
daedbda5ae Bug 1080297 - Use native inttypes.h on VS2013. r=glandium 2014-10-09 21:06:30 +13:00
Dan Gohman
2180277e21 Bug 1077720 - IonMonkey: Optimize MPhi's addInput and addInputSlow r=nbp 2014-10-08 15:04:12 -07:00
Nicholas Nethercote
7145b4a22b Bug 1074591 (part 3) - Fix unbounded growth in JSONWriter's vectors(!). r=froydnj.
--HG--
extra : rebase_source : 364c0295c0b86e0f29dac3772acadbd0e1ab9d9f
2014-10-02 18:01:41 -07:00
Nicholas Nethercote
f322a5675d Bug 1074591 (part 2) - Remove Pointer{Element,Property}() from JSONWriter. r=froydnj.
--HG--
extra : rebase_source : db07aa93df880e201eba866cb791ccaa245f0ef8
2014-10-02 18:01:32 -07:00
Nicholas Nethercote
d18635e7ce Bug 1074591 (part 1) - Allow JSON collections to be printed on a single line. r=froydnj.
--HG--
extra : rebase_source : d576a70d2d1ff83311ab8cce849ec0b5a6b3fa80
2014-10-02 18:01:19 -07:00
Jan Beich
a3ad22f376 Bug 1073709 - Disable C++11 <atomic> when using GCC with libc++. r=waldo 2014-09-26 15:15:00 +02:00
Ehsan Akhgari
7cf0370b09 Bug 1071575 - Fix more bad implicit constructors in MFBT; r=froydnj
--HG--
extra : rebase_source : 2bbcb50e44f59f23dbccc949b917ca3b73c1617f
2014-09-23 21:30:36 -04:00
Chris Peterson
df0925ad6d Bug 990764 - Remove MOZ_ASSUME_UNREACHABLE and MOZ_NIGHTLY_ASSERT macros. r=Waldo 2014-06-29 19:21:50 -07:00
Masayuki Nakano
1c6bd23296 Bug 1069726 Don't use non-ASCII characters in cpp files for avoiding bustage with Visual Studio in some locales r=njn 2014-09-19 20:34:13 +09:00
Nicholas Nethercote
4f913989b7 Bug 1067699 (part 2) - Add mfbt/JSONWriter.h and use it for memory reporting. r=froydnj.
--HG--
extra : rebase_source : 7eb21c4c20c0434b3b236d1c53cbef9cb6a4759c
2014-09-14 23:36:18 -07:00
Nicholas Nethercote
9a8bee0c06 Bug 1067699 (part 1) - Export double-conversion.h normally from MFBT. r=froydnj.
--HG--
extra : rebase_source : 14c3d827f4d8015d8326612e82782c52dcf7335d
2014-09-16 23:33:05 -07:00
Christian Holler
ac0ab82770 Bug 1058500 - Add MSan support to the build system. r=ted,waldo 2014-09-11 23:21:46 +02:00
Kearwood (Kip) Gilbert
7d4f4b04ca Bug 1062406 - Part 1 - Change x and y parameters of window.scroll* CSSOM-View DOM calls from double to unrestricted double. r=bz
- WebIDL updated so that x and y parameters of window.scroll, window.scrollTo,
  and window.ScrollBy are changed from "double" to "unrestricted double".
- Implemented mozilla::ToZeroIfNonfinite
- Updated nsGlobalWindow::Scroll, ScrollTo, and ScrollBy methods so that they
  replace non-finite numbers with 0.
2014-09-09 12:02:00 +02:00
Jed Davis
7837137d14 Bug 1059038 - Move mozilla::unused from xpcom/glue to mfbt. r=Waldo
--HG--
rename : xpcom/glue/unused.cpp => mfbt/unused.cpp
rename : xpcom/glue/unused.h => mfbt/unused.h
2014-08-29 10:11:00 +02:00
Jeff Walden
0e97ceb06f Bug 1064451 - Convert assertion-expression-type checking code to not perform a function call. r=froydnj
--HG--
extra : rebase_source : d88adf94137dca875444c4aa8c7b3e9ce9c7dedd
2014-09-07 01:04:09 -07:00
Hannes Verschore
a027299d54 Bug 1061764 - Atomic<bool, Relaxed> should mean no synchronization on windows x86, r=froydnj 2014-09-04 11:08:00 +02:00
Ehsan Akhgari
9ccddf16ac Bug 1062073 - Mark BinarySearchDefaultComparator's constructor as explicit; r=froydnj
--HG--
extra : rebase_source : 373682d496f5e4bcf528593dc8cdff55fe9f9698
2014-09-03 18:25:13 -04:00
Mike Hommey
c2a27deef9 Bug 1059090 - Don't require SOURCES to be set for CPP_UNIT_TESTS and SIMPLE_PROGRAMS. r=mshal 2014-09-03 14:16:37 +09:00
Mike Hommey
8fd95ad480 Bug 1041941 - Use templates for programs, simple programs, libraries and C++ unit tests. r=gps 2014-09-03 14:10:54 +09:00