Chris Martin
6f57bf69b4
Bug 1402282 - Move CSPRNG logic to common area r=froydnj
...
The logic in JSMath for generating cryptographically-secure
pseudorandom numbers without NSS is independently useful, and so
it's been moved to a common area.
It will eventually be used for generated random arena ids.
Differential Revision: https://phabricator.services.mozilla.com/D8597
--HG--
extra : moz-landing-system : lando
2018-10-25 18:00:15 +00:00
Gerald Squelart
964e9708ac
Bug 1054115 - Maybe::map and apply now take the function through a forwarding reference - r=froydnj
...
No need to specify the return type in C++14, this save some less-readable
decltype&declval work.
And we make sure to std::forward the function object before invoking it, to
preserve its const and l/rvalue qualifiers.
Differential Revision: https://phabricator.services.mozilla.com/D9780
--HG--
extra : moz-landing-system : lando
2018-10-25 17:20:02 +00:00
Noemi Erli
06a8cd8e3c
Backed out changeset bee1c344cb47 (bug 1491909) for failures in browser/components/extensions/test/xpcshell/test_ext_geckoProfiler_control.js
2018-10-24 04:23:13 +03:00
Cosmin Sabou
de8cde8599
Backed out changeset b283e9a224e0 (bug 1402282) build bustages on RandomNum.cpp.
2018-10-24 03:00:42 +03:00
Cosmin Sabou
035c4c098e
Bug 1402282 - Move CSPRNG logic to common area r=froydnj
...
--HG--
extra : rebase_source : a273743c193ebfb054105949068578a4a57cf3a0
2018-10-24 02:49:33 +03:00
Denis Palmeiro
fc930ad16f
Bug 1491909 - Add an AllocPolicy to mozilla::JSONWriter r=jwalden,mstange
...
JSONWriter currently calls new and delete indirectly through mozilla::MakeUnique to allocate a buffer. Becuase of this, the methods of this class cannot be invoked within Spidermonkey due to https://searchfox.org/mozilla-central/source/config/check_vanilla_allocations.py#6-14 . Therefore, JSONWriter needs an AllocPolicy template parameter so that the allocation and deallocation routines can be changed to match the JS AllocPolicy when invoked within SpiderMonkey.
Differential Revision: https://phabricator.services.mozilla.com/D7279
--HG--
extra : moz-landing-system : lando
2018-10-23 20:46:31 +00:00
Botond Ballo
63264c57f4
Bug 1498767
- Add missing MFBT tests to testing/cppunittest.py. r=froydnj
...
Also add a comment to mfbt/tests/moz.build to remind people that tests
need to be added to testing/cppunittest.py.
Differential Revision: https://phabricator.services.mozilla.com/D8664
--HG--
extra : moz-landing-system : lando
2018-10-13 21:54:27 +00:00
Emilio Cobos Álvarez
c9c6290890
Bug 1489453 - EnumSet shouldn't take 32 bits if not needed. r=froydnj
...
This is the only reason I haven't used it before for things like
StyleSheet::State.
Change the underlying type to be the underlying enum representation by default,
but allow to override it if wanted.
Assertions should catch misuses.
Differential Revision: https://phabricator.services.mozilla.com/D5248
--HG--
extra : moz-landing-system : lando
2018-09-07 14:40:02 +00:00
Nathan Froyd
1e249c5e16
Bug 1486882 - make TestPoisonArea work with aarch64 windows; r=Waldo
...
We already have the AArch64 return instruction; we just need to check
for the Windows-specific preprocessor conditional.
2018-08-29 14:47:49 -04:00
Gerald Squelart
2d21b03a3b
Bug 1482046
- mfbt: FunctionTypeTraits - r=froydnj
...
FunctionTypeTraits< function type > makes it easier to inspect a function's
return type, arity, and parameter types.
It works with free functions, struct/class methods, function objects like
non-generic lambdas and std::function.
Differential Revision: https://phabricator.services.mozilla.com/D2998
--HG--
extra : moz-landing-system : lando
2018-08-15 10:27:45 +00:00
Andreas Farre
b5730bd2b0
Bug 1445659 - Make it possible to store RefPtr<T> in AutoCleanLinkedList. r=froydnj
...
Add a trait method that AutoCleanLinkedList delegates to for calling
delete on non-refcounted list elements.
--HG--
extra : histedit_source : 5e8b05f348d734d9045621d858caed946853fc02
2018-06-13 06:25:00 +03:00
Brian Hackett
be2b98186b
Bug 1207696 Part 2b - Don't record activity in atomics unit tests, r=waldo.
...
--HG--
extra : rebase_source : 8fb15b2d0d73adf63ed3251f55c0cbbbcf0c9c18
2018-07-21 14:20:13 +00:00
Brian Hackett
f6b8e6f81c
Bug 1309552 - Specify buffer size when freeing data in AllocPolicy, r=waldo.
...
--HG--
extra : rebase_source : f4e2d9f8831cf41c19d592ce252e87161f32250b
2018-07-20 23:58:34 +00:00
Jeff Walden
d243be25b1
Bug 1426909 - Abstract out mozilla::DecodeOneUtf8CodePoint for decoding a UTF-8 code point after having consumed a non-ASCII lead unit, with configurable error notification through optional user-provided functors. r=froydnj
...
--HG--
extra : rebase_source : 25836018b00b545a60969abccf40ce313d4da1af
2018-07-12 17:41:31 -07:00
Jeff Walden
90507ffb7a
Bug 1426909 - Introduce a new mfbt/Utf8.h header for UTF-8-related functionality, including a UTF-8 code unit type that is compatible with, but doesn't directly interconvert with, |char|. r=froydnj
...
--HG--
extra : rebase_source : 00760186060d7e72fac783af3fc5595a6057feca
2018-01-11 11:29:53 -07:00
Andi-Bogdan Postelnicu
4a5d0dd615
Bug 1453795 - MFTB - Initialize member fields in classes/ structures. r=waldo
...
--HG--
extra : rebase_source : e091acb3a9f60695b87ab9e3d348c5978680d2f8
2018-06-15 13:49:31 +03:00
Alessio Placitelli
1ecfce2746
Bug 1467759 - Escape all the property names in JSONWriter. r=froydnj
...
Scalar property names (e.g. IntProperty) are already escaped correctly.
This patch escapes the collection property names (e.g. StartObjectProperty)
as well (and adds test coverage for it).
MozReview-Commit-ID: 68kkjPb2ZN7
--HG--
extra : rebase_source : b42939ccebb71fc73914ff595803b2d6c7df2715
2018-06-08 19:50:25 +02:00
Jeff Walden
c55625cdec
Bug 1467336 - Implement mozilla::IsAscii to detect pure ASCII characters. r=froydnj
...
--HG--
extra : rebase_source : 1f6de2745234766d676178bdeafb9b82e48e51b5
2018-06-07 02:17:10 -07:00
Jeff Walden
701bad47cd
Bug 1438212 - Implement mozilla::IsFloat32Representable using an algorithm that handles NaN correctly and doesn't sometimes invoke undefined behavior. r=froydnj
...
--HG--
extra : rebase_source : b4246ea818046b1e4100b90a3a371a866ea2b098
2018-06-06 16:03:47 -07:00
André Bargull
f7acf7bc9c
Bug 1466909 - Use AddLvalueReference for UniquePtr's operator*(). r=froydnj
...
--HG--
extra : rebase_source : df072aca7e79ce534c3bc620a352adfc92fbf245
2018-06-07 07:27:22 -07:00
Henri Sivonen
c3fcb6ab2c
Bug 1466475 - Make mozilla::Span produce aligned bogus pointers per new Rust rules. r=froydnj
...
MozReview-Commit-ID: JFVSRu53Geh
--HG--
extra : rebase_source : a9436aef554b6e892195324744f135d2b65086d5
2018-06-04 12:59:46 +03:00
Miko Mynttinen
4c85ef17cc
Bug 1465060 - Part 1: Fix warnings for std::move() use r=froydnj
...
MozReview-Commit-ID: HpdFXqQdIOO
--HG--
extra : rebase_source : 1e7eea4f2d4ec16ec0c559a8afb26976ddbf4d07
2018-06-01 17:59:07 +02:00
arthur.iakab
7e765f798b
Backed out 2 changesets (bug 1465060) for build bustages on security/sandbox/linux/reporter/SandboxReporter.cpp
...
Backed out changeset 7c8905b6b226 (bug 1465060)
Backed out changeset 10446073eca8 (bug 1465060)
2018-06-03 19:25:41 +03:00
Miko Mynttinen
8d9dc85cd4
Bug 1465060 - Part 1: Fix warnings for std::move() use r=froydnj
...
MozReview-Commit-ID: HpdFXqQdIOO
--HG--
extra : rebase_source : 619d0e0ff63a2453c80f0c4d9beb906d43fa9b01
2018-06-01 17:59:07 +02:00
Emilio Cobos Álvarez
fffb25b74f
Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj
...
This was done automatically replacing:
s/mozilla::Move/std::move/
s/ Move(/ std::move(/
s/(Move(/(std::move(/
Removing the 'using mozilla::Move;' lines.
And then with a few manual fixups, see the bug for the split series..
MozReview-Commit-ID: Jxze3adipUh
2018-06-01 10:45:27 +02:00
Paul Adenot
515134e9a0
Bug 1454385 - Add a single producer single consumer lock and wait free queue to mfbt/. r=froydnj
...
MozReview-Commit-ID: 6Dq0GQtYgv2
--HG--
extra : rebase_source : 67bc4245a61c15738e3a6467a03b41e9e29af9ce
2018-04-13 17:14:05 +02:00
Alex Gaynor
3511d14f46
Bug 1462912 - fixed BufferList::Extract to handle the case where the call consumes the entirety of the BufferList; r=froydnj
...
MozReview-Commit-ID: 1LWODn8JaNL
--HG--
extra : rebase_source : 29cea444a49eb5e2ade33214ff52d6419949337e
2018-05-22 13:04:59 -04:00
Alex Gaynor
a13531321e
Bug 1456189 - Simplify BufferList::Extract to make the lifetimes clearer. r=froydnj
2018-05-18 18:59:00 -04:00
Gurzau Raul
841689c6d7
Backed out changeset 1d0aa0c581cf (bug 1456189) for bustage on selftest.py on a CLOSED TREE
2018-05-18 01:00:26 +03:00
Alex Gaynor
bb3ec615d6
Bug 1456189 - Simplify BufferList::Extract to make the lifetimes clearer. r=froydnj
2018-05-17 17:16:43 -04:00
Gerald Squelart
9b8e47ab12
Bug 1448494 - NonDereferenceable<T> wraps a T* and prevents dereferencing ops - r=froydnj
...
NonDereferenceable denotes the intent that a pointer will (most likely) not be
dereferenced, but its numeric value may be used for e.g. logging purposes.
Dereferencing operations are explicitly disabled to avoid unintentional misuses.
Casting is still possible between related types (same as with raw pointers),
but pointers stay safely stored inside NonDereferenceable objects. These casts
do not trigger `clang++ -fsanitize=vptr` errors.
MozReview-Commit-ID: 5885pB7hSFR
--HG--
extra : rebase_source : 3c4011da64d84f1b19991742b76bafbffa90d590
2018-03-28 17:48:53 +11:00
Jon Coppeard
edcb15ad07
Bug 1456875 - Add const iterators for LinkedList r=Waldo
2018-04-30 10:21:31 +01:00
Jeff Walden
821db93ccc
Bug 1453456
- Replace nsCRT::IsAscii{Alpha,Digit} with mfbt/TextUtils.h versions. r=froydnj
...
--HG--
extra : rebase_source : b31986c0e6828be79442cfb0cf369eb80c232139
2018-04-12 20:19:30 -07:00
Jeff Walden
9ea9bcc2df
Bug 1453456
- Add/use more ASCII alphanumeric testing/conversion functions from MFBT in SpiderMonkey code in various places. r=froydnj
...
--HG--
extra : rebase_source : b4e05102cce2ad5dabb973a3968f1112376da594
2018-04-10 11:42:54 -07:00
Sebastian Hengst
0819f35e51
Backed out 4 changesets (bug 525063) on request from Andi. a=backout
...
Backed out changeset 516c4fb1e4b8 (bug 525063)
Backed out changeset 6ff8aaef2866 (bug 525063)
Backed out changeset bf13e4103150 (bug 525063)
Backed out changeset d7d2f08e051c (bug 525063)
2018-04-13 16:01:28 +03:00
Tristan Bourvon
a3a77c0312
Bug 525063 - Initialize uninitialized class attributes in m-c. r=ehsan
2018-04-10 21:11:02 +02:00
Jeff Walden
be8ccd5a6b
Bug 1452619 - Implement mozilla::IsAsciiAlpha. r=froydnj
...
--HG--
extra : rebase_source : fd1e3284d293edad0bd96cc378eeeeb1bc2c8829
2018-04-09 12:02:43 -07:00
Masatoshi Kimura
3560ad5b6e
Bug 1449094 - Implement constexpr mozilla::AllOf. r=froydnj
...
MozReview-Commit-ID: KvKY9CMqfww
--HG--
extra : rebase_source : 5e548884d3a331b5dc8704a690ccbd532ac2534a
2018-03-28 00:01:08 +09:00
Henri Sivonen
5f81ea7f50
Bug 1448591 - Make MakeStringSpan(nullptr) return an empty span. r=froydnj.
...
MozReview-Commit-ID: EyuLeWjEL7w
--HG--
extra : rebase_source : a40b671692db0e7faa7772654cb4b1ae75bd30a2
2018-03-24 21:36:00 +02:00
Bogdan Tara
8b1819017d
Backed out changeset 577c20417552 (bug 1449094) for failing /builds/worker/workspace/build/src/mfbt/tests/TestAlgorithm.cpp CLOSED TREE
2018-03-30 01:54:04 +03:00
Masatoshi Kimura
316aea87d9
Bug 1449094 - Implement constexpr mozilla::AllOf. r=froydnj
...
MozReview-Commit-ID: KvKY9CMqfww
--HG--
extra : rebase_source : 15efd61da5b66d6bbb4655cf95936c5d36473a82
2018-03-28 00:01:08 +09:00
Jeff Walden
0eefeabe25
Bug 1445024 - Implement mozilla::WrappingSubtract. r=froydnj
...
--HG--
extra : rebase_source : 026268df1cb1cfc56873e61834ea90257645c508
2018-03-06 19:22:20 -08:00
Jeff Walden
52d9907ee0
Bug 1445024 - Implement mozilla::WrappingAdd. r=froydnj
...
--HG--
extra : rebase_source : 3514c6487305e64ce19060cb05d39bc6eb2fd912
2018-03-06 19:21:58 -08:00
Jeff Walden
15bf6fd876
Bug 1442967 - Boo, MSVC warns when a cast will truncate a numeric constant. Arguably a desirable warning generally, but here we specifically intend the cast to narrow, so disable the warning. r=me in a CLOSED TREE
2018-03-12 19:20:42 -07:00
Jeff Walden
fc7dc7e60e
Bug 1442967 - When doing a comparison against a 64-bit constant in code run only in 64-bit builds, but compiled in 32-bit builds, cast it to uintptr_t so that the comparison isn't clearly false in 32-bit builds. rs=froydnj by suggestion on IRC
...
--HG--
extra : rebase_source : 2be98a1a0c436664ea0fa3ef8be55a9fb71541af
2018-03-12 13:36:44 -07:00
Jeff Walden
1b063823be
Bug 1442967 - Futz with a uintptr_t (as uint32_t) == uint64_t comparison to evade constantly-false compiler warnings in 32-bit builds. r=jorendorff
2018-03-09 21:59:08 -08:00
Jason Orendorff
ef8693d6f2
Bug 1413049 - Part 1a: In a test, zero-pad hex integer constants to the width of their type. r=Waldo.
...
--HG--
extra : rebase_source : dfd3f1a00470856a177a526d385dd0f1b7d0ec38
2018-03-01 20:06:37 -06:00
Jason Orendorff
2418dfb4b3
Bug 1413049 - Part 1: Add methods to EndianUtils for pointer-sized integers. r=Waldo.
...
--HG--
extra : rebase_source : 115e40ecaee589b07e4ff9534694e56af7690e9b
2018-03-01 11:05:13 -06:00
Jeff Walden
25a7df6306
Bug 1441657 - Implement mozilla::WrappingMultiply. r=froydnj
...
--HG--
extra : rebase_source : 57d1796976a25597ee4dda90561d40debc6a9fc9
2018-02-15 17:36:55 -08:00
Jeff Walden
b0074d3a7d
Bug 1441657 - Create a new mozilla/WrappingOperations.h header to contain implementations of common math operations with well-defined wraparound semantics. r=froydnj
...
--HG--
rename : mfbt/MathAlgorithms.h => mfbt/WrappingOperations.h
rename : mfbt/tests/TestMathAlgorithms.cpp => mfbt/tests/TestWrappingOperations.cpp
extra : rebase_source : 552a0f17d7ba2ad6229d45fd2945592aceabb354
2018-02-15 17:36:50 -08:00