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

266 Коммитов

Автор SHA1 Сообщение Дата
Nicolas B. Pierron 06bb70ebad Bug 1318677 part 3 - mozilla::Result: Add a new packing strategy to pack small enumerated values in a single word. r=Waldo 2017-02-07 18:57:43 +00:00
Jonathan Watt 33a6ca0109 Bug 1335780, part 2 - Tests for Maybe<const Type>. r=froydnj 2017-01-03 08:53:05 +00:00
John Paul Adrian Glaubitz ba58645c87 Bug 1329194 - mfbt:tests: Define RETURN_INSTR for SH in TestPoisonArea. r=glandium 2017-01-20 09:12:22 +09:00
David Major bbf01a2d5f Bug 1329236: Remove the DECLTYPE(expr) workaround in TestMaybe.cpp. r=ehsan
MozReview-Commit-ID: 5n5iRdJKn7M

--HG--
extra : rebase_source : 181165142b1f39c59c404b0b692383dd63a423b9
2017-01-06 12:53:20 -06:00
Nathan Froyd f6a73ed989 Bug 1315274 - rename mozilla::MakeRange to mozilla::IntegerRange; r=Waldo
MakeRange is just way too generic for this sort of thing.
2017-01-06 09:22:53 -05:00
Xidorn Quan b4ceaa3474 Bug 1325351 part 3 - Make Maybe accept value from different Maybe type when the inner type is convertible. r=froydnj
MozReview-Commit-ID: 2kYTncYh1Or

--HG--
extra : rebase_source : f3263ce10f3afae6e8ac734296dbb0e641c55c99
2016-12-23 11:49:33 +11:00
Sebastian Hengst 6c5fadc6f5 Backed out changeset 45f0755ff471 (bug 1325351) 2016-12-27 10:39:45 +01:00
Xidorn Quan 3cead98957 Bug 1325351 part 3 - Make Maybe accept value from different Maybe type when the inner type is convertible. r=froydnj
MozReview-Commit-ID: 2kYTncYh1Or

--HG--
extra : rebase_source : 2d15fb3c252f1c0505d739d9540079ceb9296b39
2016-12-23 11:49:33 +11:00
Nick Fitzgerald a19333ea56 Bug 1324829 - Add the `mozilla::Result::andThen` method; r=froydnj 2016-12-21 13:05:56 -08:00
Nick Fitzgerald f40c749727 Bug 1324828 - Add the `mozilla::Result::map` method; r=froydnj 2016-12-21 13:05:56 -08:00
Nathan Froyd 2ebbd09068 Bug 1320752 - remove mozilla/Function.h; r=gerald
We have std::function available now, which is likely to be somewhat more
efficient.
2016-11-28 11:03:53 -05:00
Jan de Mooij 2975885bae Bug 1283562 - Add mozilla::Result<V, E> for fallible return values. r=jwalden 2016-11-21 12:52:03 +01:00
Ting-Yu Lin d60ec2b4d6 Bug 1315624 - Delete operator&& and operator|| for CastableTypedEnumResult. r=froydnj
Defining these two overloading functions destroys short-circuit evaluation.

MozReview-Commit-ID: Ac7zPtAGOiE

--HG--
extra : rebase_source : 4b3906b5162c1214b9814166f7d0d7de9cb0a7f9
2016-11-07 15:00:16 +08:00
Nathan Froyd 9238cab1b1 Bug 1315352 - enable Range<T> -> Range<const T> conversion; r=Waldo
Since |T*| converts into |const T*|, if we want to rewrite code such as:

  void DoSomething(const T*, size_t);

  void DoSomethingElse(T* x, size_t len)
  {
    ...
    DoSomething(x, len);
  }

to use ranges:

  void DoSomething(Range<const T>);

  void DoSomethingElse(Range<T> x)
  {
    ...
    DoSomething(x);
  }

we need to ensure this conversion works.  gsl::span<T> already provides
something like this as well.
2016-11-07 19:30:34 -04:00
Bill McCloskey 4c8471eb15 Bug 1310547 - Add removeAndGetNext/Previous methods to LinkedList (r=froydnj) 2016-10-30 22:04:01 -07:00
Bill McCloskey c0d229e060 Bug 1310547 - Allow LinkedList to hold RefPtr elements (r=froydnj) 2016-10-30 22:04:00 -07:00
Sebastian Hengst bff4ebdec8 Backed out changeset c41a71b1c24e (bug 1310547) for failing splitText-normalize.html in reftests on Windows 7 VM debug. r=backout on a CLOSED TREE 2016-10-29 13:48:56 +02:00
Sebastian Hengst b063eb49cb Backed out changeset 721e3171510d (bug 1310547) 2016-10-29 13:45:28 +02:00
Bill McCloskey 5a6e5a85cf Bug 1310547 - Add removeAndGetNext/Previous methods to LinkedList (r=froydnj) 2016-10-28 20:11:03 -07:00
Bill McCloskey 89ca6e236f Bug 1310547 - Allow LinkedList to hold RefPtr elements (r=froydnj) 2016-10-28 20:10:37 -07:00
Johannes Schulte b7ccc22970 Bug 1312620 - Add IsPositiveZero function to mfbt and use it to replace MPhi by MNaNToZero iff c is +0.0. r=nbp, r=waldo
--HG--
extra : rebase_source : 7adefc3370c081e17b5e0b090a008e0de0507bb9
2016-10-26 17:47:42 +02:00
James Cheng 3bf8f58291 Bug 1309466 - Add Test for the init value by constructor. r=froydnj
MozReview-Commit-ID: 9BguTY6dlRD

--HG--
extra : rebase_source : 8aef83263e8a406f6a4bb54f7cac6368cb75d904
2016-10-19 18:12:11 +08:00
Ting-Yu Lin 96fcd3875f Bug 1311277 Part 2 - Add move assignment for LinkedListElement and LinkedList. r=froydnj
MozReview-Commit-ID: 7NjbxamX87U

--HG--
extra : rebase_source : 578c72ee7eff740f7e7dcfd95f38f3ca8d1045a8
2016-10-19 13:30:51 +08:00
Nathan Froyd d1108c1e52 Bug 1311068 - remove InitializerList.h; r=botond
We needed this polyfill for <initializer_list> when some of our C++
standard libraries did not support said header.  They all do now, so the
polyfill is redundant.
2016-10-19 00:33:14 -04:00
Jeff Walden de8974994d Bug 1299284 - Remove js::IsPowerOfTwo in favor of mozilla::IsPowerOfTwo. r=sfink
--HG--
extra : rebase_source : c9d695c25c9e53d7b86d9718611718af9fea8598
2016-07-21 00:36:38 -07:00
Xidorn Quan 7d4ca9c88b Bug 1303302 - Add IsDestructible trait in TypeTraits and use it for refcounted type static check. r=froydnj
MozReview-Commit-ID: G3YFhrJngq0

--HG--
extra : rebase_source : da0aa325eb7772c1a156440ed46be9d0d429c91e
2016-09-16 17:23:55 +10:00
Wes Kocher 5cbc382303 Merge inbound to m-c a=merge 2016-09-07 17:54:24 -07:00
Michael Layzell 36e08437d0 Bug 1018486 - Part 8: Various other changes, r=smaug
MozReview-Commit-ID: B0dsomkWgEk
2016-09-07 10:50:45 -04:00
Jeremy Chen 722ad026a3 Bug 1297306 - part4:rename IsEnumFittingWithin with EnumTypeFitsWithin and move it to mfbt/EnumTypeTraits.h. r=froydnj
With this change, we could share this EnumTypeTraits between files easily.

MozReview-Commit-ID: 9Q2augati7l

--HG--
extra : rebase_source : b7d9fc95d9d7722ba3eb99ec9798a64ebdbeb484
2016-09-07 10:20:16 +08:00
Michelangelo De Simone 0b2d2c0e55 Bug 1120059 - Remove unnecessary MOZ_EXPLICIT_CONVERSION macros. r=jwalden
MozReview-Commit-ID: 7CX1VnBRDpk

--HG--
extra : rebase_source : 36be7e6c91d2767c5a610a2806f89efa69ff1c74
2016-07-13 15:07:52 -07:00
Ryan VanderMeulen 1c0c6ec5d4 Merge m-c to inbound. a=merge 2016-08-29 12:56:19 -04:00
Kan-Ru Chen c49f09db99 Bug 1297981 - Delete BufferList::FlattenBytes and Pickle::FlattenBytes. r=billm
MozReview-Commit-ID: G3a4DN4Lovi

--HG--
extra : rebase_source : 17818efb7578117b708636d06e6a2f5d14532c94
2016-08-25 17:15:38 +08:00
Jeff Walden 34e7d5b132 Bug 1296760 - Allow Some(nullptr) and Some(Derived*) to convert to Maybe<Base*>. r=froydnj
--HG--
extra : rebase_source : 478e825f476a671e07a94f483b88cbc2d4ae8d13
2016-08-24 11:12:48 -07:00
Kan-Ru Chen b6d880aca1 Bug 1297276 - Rename mfbt/unused.h to mfbt/Unused.h for consistency. r=froydnj
The patch is generated from following command:

  rgrep -l unused.h|xargs sed -i -e s,mozilla/unused.h,mozilla/Unused.h,

MozReview-Commit-ID: AtLcWApZfES


--HG--
rename : mfbt/unused.h => mfbt/Unused.h
2016-08-24 14:47:04 +08:00
Kan-Ru Chen 3dcef6a932 Bug 1264642 - Part 3. Add BufferList::MoveFallible. r=billm
It works like a move constructor but it's fallible. It can also move
data to different but compatible AllocPolicy.

MozReview-Commit-ID: LAbPWCwnrr6
2016-08-23 00:40:46 +08:00
Kan-Ru Chen 6f3e6b1234 Bug 1264642 - Part 2. Add BufferList::Extract and Pickle::ExtractBuffers. r=billm
These methods allow us to move some buffers out of a pickle with minimum
copying. It's useful when the IPC deserialized type uses BufferList to
store data and we want to take the buffers from IPC directly.

Borrowing is not suitable to use for IPC to hand out data because we
often want to store the data somewhere for processing after IPC has
released the underlying buffers.

MozReview-Commit-ID: F1K2ZMkACqq
2016-08-23 00:40:45 +08:00
Igor 175543fda8 Bug 1293384 - Part 2: Rename Snprintf.h header to Sprintf.h. r=froydnj 2016-08-14 23:43:21 -07:00
Igor a57972337d Bug 1293384 - Part 1: Rename snprintf_literal to SprintfLiteral. r=froydnj 2016-08-14 23:44:00 -07:00
Daniel Holbert 489e357178 Bug 1291423: Explicitly qualify the destructor call that we invoke in Maybe::reset. r=Waldo
MozReview-Commit-ID: 6vQouBSxnsZ
2016-08-02 21:19:08 -07:00
Chris Peterson 9fc9590608 Bug 1289990 - Remove VS2013 workaround for TestTuple.cpp crash. r=froydnj
--HG--
extra : rebase_source : c5138bb0ea6a77b04030074ecebd85ba0808afa3
2016-07-27 23:13:08 -07:00
Chris Peterson b0efbe0ef8 Bug 1288603 - Remove NumericLimits.h because all platforms have numeric_limits<char16_t>. r=froydnj 2016-07-22 22:05:45 -07:00
Tom Tromey 5538d692d3 Bug 1286877 - do not set c-basic-offset for python-mode; r=gps
This removes the unnecessary setting of c-basic-offset from all
python-mode files.

This was automatically generated using

    perl -pi -e 's/; *c-basic-offset: *[0-9]+//'

... on the affected files.

The bulk of these files are moz.build files but there a few others as
well.

MozReview-Commit-ID: 2pPf3DEiZqx

--HG--
extra : rebase_source : 0a7dcac80b924174a2c429b093791148ea6ac204
2016-07-14 10:16:42 -06:00
Terrence Cole 1fe18b25cf Bug 1232686 - Use decltype to infer Variant::match return type; r=fitzgen
--HG--
extra : rebase_source : 38f280cc3014b2285a79e377f1fa8edf4c5f4661
2015-12-15 07:45:22 -08:00
Seth Fowler a2712d4b0e Bug 1255632 - Make Maybe::map and Maybe::apply support lambdas. r=waldo,njn 2016-06-22 16:32:40 -07:00
Carsten "Tomcat" Book c46c20b362 Backed out changeset 7b03f23fdde5 (bug 1255632) for bustage on a CLOSED TREE 2016-06-22 08:48:25 +02:00
Seth Fowler 358b410aaa Bug 1255632 - Make Maybe::map and Maybe::apply support lambdas. r=waldo,njn 2016-06-21 22:15:27 -07:00
Andi-Bogdan Postelnicu c735dfa442 Bug 1278201 - prevent writing |mRefCnt| after it's freed. r=Ms2ger
MozReview-Commit-ID: G7fZzrGWHmW

--HG--
extra : rebase_source : 6f311948a8d2222358aec860f2c6d6223862e814
2016-06-06 17:23:10 +03:00
Nicholas Nethercote b3d842431f Bug 1272203 (part 1) - Add mozilla::NotNull to MFBT. r=froydnj.
This patch implements mozilla::NotNull, which is similar but not identicial to
gsl::not_null.

The current draft(?) implementation of gsl::not_null is at
https://github.com/Microsoft/GSL/blob/master/include/gsl.h.

The main difference is that not_null allows implicit conversion from T to
not_null<T>. In contrast, NotNull only allows explicit conversion from T to
NotNull<T> via WrapNotNull().

The rationale for this is that when converting from a less-constrained type to
a more constrained type, implicit conversion is undesirable. For example, if I
changed a function f from this:

  f(int* aPtr);

to this:

  f(gsl::not_null<int*> aPtr);

no call sites would have to be modified. But if I changed it to this:

  f(mozilla::NotNull<int*> aPtr);

call sites *would* need to be modified. This is a good thing! It forces the
author to audit the call sites for non-nullness, and encourages them to
back-propagate NotNull throughout the code.

The other difference between not_null and NotNull is that not_null disables
pointer arithmetic, which means it cannot be used with array pointers. I have
not implemented this restriction for NotNull because it seems arbitrary and
unnecessary.
2016-05-12 14:21:16 +10:00
Chris Peterson 11ef78ae89 Bug 1275016 - Rename Endian.h to EndianUtils.h to avoid #include confusion with Android's endian.h stdlib header. r=froydnj
--HG--
rename : mfbt/Endian.h => mfbt/EndianUtils.h
2016-05-22 13:31:11 -07:00
Bill McCloskey 308608ab39 Bug 1262671 - Introduce MFBT BufferList class (r=froydnj) 2016-05-27 09:57:40 -07:00