Commit Graph

823 Commits

Author SHA1 Message Date
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