Граф коммитов

76 Коммитов

Автор SHA1 Сообщение Дата
Jeff Muizelaar b29099ae6d Bug 1228641. Add a polyfill of std::initializer_list. r=froydnj 2016-01-06 22:06:35 -05: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
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
Nathan Froyd e763192040 Bug 1216611 - add mozilla::MakeUniqueFallible and convert uses throughout the tree; r=Waldo 2015-11-05 16:24:24 -05: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
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
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
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
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
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
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
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
Bobby Holley 97b9240b34 Bug 1188696 - Hoist nsRefPtr.h into MFBT. r=froydnj 2015-07-29 10:44:59 -07: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 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
Nick Fitzgerald 474c4d36e3 Bug 1174906 - Add a mozilla::Variant<T1, T2, ...> template class; r=Waldo 2015-06-30 10:01:00 -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 872cd27412 Bug 1163328 - Add a Tuple class to MFBT. r=froydnj
--HG--
extra : source : f12a4369d58e8ed5acb244b10ce749849d61f60c
2015-05-21 22:33:49 -04:00
Emanuel Hoogeveen 8683a32c36 Bug 1142999 - Add an EnumeratedRange class to iterate EnumeratedArrays. r=nfroyd 2015-03-23 15:06:00 -04:00
Xidorn Quan f381e80fa5 Bug 1126701 - Add IntegerRange for iterating integers. r=waldo
--HG--
extra : source : 2977cf3c5b545826a4ec0cdf245e804574cf7ff9
2015-02-04 19:07:32 +11:00
Xidorn Quan aeda889bb9 Bug 1127044 part 2 - Add ReverseIterator template class. r=waldo
--HG--
extra : source : f132d86b18c82109fbcb04f8cb870d13c72feb0a
2015-02-04 19:07:32 +11:00
Xidorn Quan 01744b79e2 Bug 1127044 part 1 - Add IteratorTraits facility. r=waldo
--HG--
extra : source : 797a32d645cb962281bf5c7cb2710e6a4122c945
2015-02-04 19:07:32 +11:00
Masatoshi Kimura 6cc5dabbee Bug 1111290 - Part 3: Remove TypedEnum.h and fold TypedEnumInternal.h into TypedEnumBits.h. r=waldo 2015-01-26 07:22:11 +09:00
Chris Peterson 75110a0d12 Bug 1118529 - Remove MSIntTypes.h. r=Waldo 2015-01-06 21:41:15 -08:00
Ehsan Akhgari bbb500e982 Bug 1116906 - Move AlreadyAddRefed.h to MFBT; r=froydnj 2015-01-07 11:51:29 -05:00
Chris Peterson 27902ec6b5 Bug 1114724 - Define PRIuSIZE format specifiers for size_t. r=Waldo 2014-12-21 23:30:06 -08:00
Nicholas Nethercote 8225c5d531 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 273d7cc068 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 2d771de5ad 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
Jed Davis af04cea2d8 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
Mike Hommey ed70c5f377 Bug 1041941 - Use templates for programs, simple programs, libraries and C++ unit tests. r=gps 2014-09-03 14:10:54 +09:00
Jim Chen 4a6c0055c0 Bug 1007824 - Add mfbt/LinuxSignal.h; r=snorp r=Ms2ger 2014-07-15 12:45:40 -04:00
Jeff Walden 9b3cc8ddf5 Bug 953296 - Implement mozilla::UniquePtr. r=jcranmer
--HG--
extra : rebase_source : 76dadc240c40d1ffbd2f3a0414c3667ff2d6706d
2013-12-30 13:34:15 -06:00
Jeff Walden 2c5ed1828b Bug 953296 - Introduce an EBO-performing Pair class to mfbt. r=jcranmer
--HG--
extra : rebase_source : a5d4ad52736a66656aaf3947b31ce8087b859491
2014-06-09 08:49:18 -07:00
Jed Davis 5d990656e6 Bug 1011350 - Add mfbt support for PR_SET_VMA_ANON_NAME. r=njn r=froydnj
This is a Linux kernel feature present in newer Android and B2G devices
which allows attaching an arbitrary name to an anonymous memory regions,
thus tagging it for the purposes of procfs mapping lists and causing it
to be reported separately from adjacent regions with different names.
2014-06-17 17:54:00 +02:00
Jan de Mooij f6e79b4014 Bug 1024688 - Add a MaybeOneOf class to MFBT. r=luke 2014-06-13 14:26:01 +02:00