Commit Graph

2240 Commits

Author SHA1 Message Date
Tyson Smith
d8f7c11471 Bug 1725008 - Implement FuzzingFunctions.crash() r=glandium,mccr8
Differential Revision: https://phabricator.services.mozilla.com/D125000
2021-09-15 18:24:04 +00:00
Chris Peterson
339c7d8961 Bug 1729598 - Remove now-unused MustUseChecker and MOZ_MUST_USE_TYPE attribute. r=static-analysis-reviewers,andi
Depends on D125504

Differential Revision: https://phabricator.services.mozilla.com/D125505
2021-09-15 05:10:51 +00:00
Chris Peterson
c9530ebe28 Bug 1729598 - Replace MOZ_MUST_USE_TYPE with [[nodiscard]]. r=static-analysis-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D125504
2021-09-15 05:10:51 +00:00
Daniel Holbert
8761eb8cee Bug 1730774 part 1: Give EnumeratedRange.h an include for Assertions.h, since it includes MOZ_ASSERT statements. r=TYLin
Without this patch, these MOZ_ASSERT statements cause build errors, if I build
the layout/generic directory in non-unified mode.

(Instead of this patch, we could also hypothetically sprinkle individual
#includes for Assertions.h around to all the downstream files; but it's simpler
and more direct to just put it here in the file that contains the MOZ_ASSERT
statements in question. Note that many other MFBT headers also have includes
for Assertions.h, so it seems reasonable to include it here as well.)

Differential Revision: https://phabricator.services.mozilla.com/D125610
2021-09-14 22:06:22 +00:00
Jesse Schwartzentruber
512463417e Bug 1624717 - Copy release mode bounds checking from nsTArray to Array r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D124833
2021-09-09 13:29:18 +00:00
Andi-Bogdan Postelnicu
2fc4f70e9b Bug 1725145 - Preparation for the hybrid build env. r=necko-reviewers,firefox-build-system-reviewers,valentin,glandium
Automatically generated path that adds flag `REQUIRES_UNIFIED_BUILD = True` to `moz.build`
when the module governed by the build config file is not buildable outside on the unified environment.

This needs to be done in order to have a hybrid build system that adds the possibility of combing
unified build components with ones that are built outside of the unified eco system.

Differential Revision: https://phabricator.services.mozilla.com/D122345
2021-08-25 10:46:17 +00:00
André Bargull
dca8370c53 Bug 1341265 - Part 11: Optimise Set.prototype.has for objects in CacheIR. r=iain
Inline `Set.prototype.has` in CacheIR when called with objects.

Implementing `MacroAssembler::hashObject()` on 32-bit platforms is difficult,
because it uses 64-bit operations, so we either have to allocate twice as much
registers for `Register64` or alternatively spill the values on the stack. For
now just punt and only support this optimisation on 64-bit platforms.

Differential Revision: https://phabricator.services.mozilla.com/D118977
2021-08-10 09:55:22 +00:00
André Bargull
fc13c8d5c1 Bug 1341265 - Part 1: Remove stale fixme comment. r=iain
Bug 775896 has been fixed, so we can remove the fixme comment.

Differential Revision: https://phabricator.services.mozilla.com/D118967
2021-08-10 09:55:18 +00:00
Narcis Beleuzu
ca6769529e Backed out 22 changesets (bug 1341265) for bustages on VMFunctions.cpp . CLOSED TREE
Backed out changeset d21b307ccfaf (bug 1341265)
Backed out changeset 182be3b078d9 (bug 1341265)
Backed out changeset 684915d2fc1c (bug 1341265)
Backed out changeset 7b187e896bef (bug 1341265)
Backed out changeset 1f7646c44496 (bug 1341265)
Backed out changeset ed9ca5806dbc (bug 1341265)
Backed out changeset b1db78c1508a (bug 1341265)
Backed out changeset 63d0d4dc2972 (bug 1341265)
Backed out changeset 77d1207af1c0 (bug 1341265)
Backed out changeset d24cb3906dda (bug 1341265)
Backed out changeset 6f1d162738b4 (bug 1341265)
Backed out changeset 186a7d8db816 (bug 1341265)
Backed out changeset e5f6eb92c12c (bug 1341265)
Backed out changeset 46f05b533e75 (bug 1341265)
Backed out changeset 77735582aefb (bug 1341265)
Backed out changeset 3c94f61e57ca (bug 1341265)
Backed out changeset cab9608e9d98 (bug 1341265)
Backed out changeset 08768e69a817 (bug 1341265)
Backed out changeset df7c4fac5dc8 (bug 1341265)
Backed out changeset f1c40722a50e (bug 1341265)
Backed out changeset 2b174465dea5 (bug 1341265)
Backed out changeset 602b65bfb721 (bug 1341265)
2021-08-10 11:27:51 +03:00
André Bargull
867b1e4662 Bug 1341265 - Part 11: Optimise Set.prototype.has for objects in CacheIR. r=iain
Inline `Set.prototype.has` in CacheIR when called with objects.

Implementing `MacroAssembler::hashObject()` on 32-bit platforms is difficult,
because it uses 64-bit operations, so we either have to allocate twice as much
registers for `Register64` or alternatively spill the values on the stack. For
now just punt and only support this optimisation on 64-bit platforms.

Differential Revision: https://phabricator.services.mozilla.com/D118977
2021-08-10 07:45:34 +00:00
André Bargull
f506795ec1 Bug 1341265 - Part 1: Remove stale fixme comment. r=iain
Bug 775896 has been fixed, so we can remove the fixme comment.

Differential Revision: https://phabricator.services.mozilla.com/D118967
2021-08-10 07:45:30 +00:00
Butkovits Atila
c5ea1e4659 Backed out 21 changesets (bug 1341265) for causing Bug 1724298. CLOSED TREE
Backed out changeset ad0987b840c1 (bug 1341265)
Backed out changeset c3094bf07295 (bug 1341265)
Backed out changeset 199d9708682d (bug 1341265)
Backed out changeset 991572f50cf9 (bug 1341265)
Backed out changeset bf631916de9b (bug 1341265)
Backed out changeset 5d9d8af2f4ac (bug 1341265)
Backed out changeset 720032f06c94 (bug 1341265)
Backed out changeset 85f8b1c24e9d (bug 1341265)
Backed out changeset 13da03ae88a8 (bug 1341265)
Backed out changeset 6716962a06ed (bug 1341265)
Backed out changeset 26787054e0db (bug 1341265)
Backed out changeset 21199bd4965d (bug 1341265)
Backed out changeset bd5e0950f9d9 (bug 1341265)
Backed out changeset 3fa14377770a (bug 1341265)
Backed out changeset 56ec3626f0ba (bug 1341265)
Backed out changeset 09f04c26176c (bug 1341265)
Backed out changeset b861bb6771c7 (bug 1341265)
Backed out changeset 820e01c32bcd (bug 1341265)
Backed out changeset 88e497d213fe (bug 1341265)
Backed out changeset e9272f7d1823 (bug 1341265)
Backed out changeset 33a140c71ff0 (bug 1341265)
2021-08-07 19:07:28 +03:00
André Bargull
58f4af8485 Bug 1341265 - Part 11: Optimise Set.prototype.has for objects in CacheIR. r=iain
Inline `Set.prototype.has` in CacheIR when called with objects.

Implementing `MacroAssembler::hashObject()` on 32-bit platforms is difficult,
because it uses 64-bit operations, so we either have to allocate twice as much
registers for `Register64` or alternatively spill the values on the stack. For
now just punt and only support this optimisation on 64-bit platforms.

Differential Revision: https://phabricator.services.mozilla.com/D118977
2021-08-02 16:38:04 +00:00
André Bargull
93463e429d Bug 1341265 - Part 1: Remove stale fixme comment. r=iain
Bug 775896 has been fixed, so we can remove the fixme comment.

Differential Revision: https://phabricator.services.mozilla.com/D118967
2021-08-02 16:38:00 +00:00
Iain Ireland
094d5b88a8 Bug 1719396: Don't hash sizeof(size_t) in HashBytes r=glandium
The loop in HashBytes currently hashes both a word of data (as intended) and the length of that word of data (a constant).

This was [acknowledged as a bug](https://bugzilla.mozilla.org/show_bug.cgi?id=729940#c49) when first written, but slipped through the cracks and was never fixed.

Differential Revision: https://phabricator.services.mozilla.com/D119466
2021-07-19 21:35:40 +00:00
Gerald Squelart
81d28b5530 Bug 1719959 - Better Tag type choice, fixed corresponding test - r=emilio
On some systems, uint_fast8_t may be as big as size_t! So the `static_assert(sizeof(aIndex) < sizeof(size_t))` could fail there. The better test here is to check for the expected type (uint_fast8_t).

Now, since uint_fast8_t can be bigger than 8 bits, we may as well choose it for variant sizes greater than 255, up to UINT_FAST8_MAX.
(The added parentheses help clang-format distinguish '<' for tests vs for templates.)

Differential Revision: https://phabricator.services.mozilla.com/D119574
2021-07-11 09:43:50 +00:00
Nika Layzell
0e22f3df51 Bug 1717808 - aIter must be valid after extracting last segment of a BufferList, r=glandium
When advancing to Beta, we stop adding sentinels after serialized data
in IPC::Message objects. These sentinels would cause all Extract calls
to not reach the end of the message buffer on Nightly. This patch fixes
an assertion failure which can occur when extract calls fully empty the
buffer, and the finished iterator is advanced by 0 bytes.

Differential Revision: https://phabricator.services.mozilla.com/D118838
2021-07-07 18:03:03 +00:00
Nika Layzell
82ee49b019 Bug 1717778 - Upgrade some LinkedList asserts to RELEASE_ASSERT, r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D118719
2021-06-25 16:53:39 +00:00
Nika Layzell
5731c1747c Bug 1717526 - String's implicit conversion operator causes COW relocations, r=xpcom-reviewers,mccr8
Differential Revision: https://phabricator.services.mozilla.com/D118430
2021-06-23 01:57:00 +00:00
Alexandru Michis
e3d24b013a Backed out changeset 3beb01f5d643 (bug 1717526) for causing gtest failures in SpanTest.from_xpcom_collections
CLOSED TREE
2021-06-23 01:58:49 +03:00
Nika Layzell
c14de7eabc Bug 1717526 - String's implicit conversion operator causes COW relocations, r=xpcom-reviewers,mccr8
Differential Revision: https://phabricator.services.mozilla.com/D118430
2021-06-22 21:18:03 +00:00
Nika Layzell
10e86924f0 Bug 1706374 - Part 14: Track the absolute offset on iterators, r=glandium
This should improve the performance of large calls to AdvanceAcrossSegments
when using a very large BufferList, as we no longer need to iterate over each
element to find the destination when the call is closer to the end.

This will be used most frequently with the new footer code to seek to the end
of an IPC message to read out the footer.

Differential Revision: https://phabricator.services.mozilla.com/D116667
2021-06-22 18:17:23 +00:00
Nika Layzell
599b58f458 Bug 1706374 - Part 13: Remove the event footer from an IPC::Message when deserializing, r=handyman,glandium
This unfortunately requires a new method to be added to BufferList to
support truncating the buffer to a particular iterator.

Differential Revision: https://phabricator.services.mozilla.com/D116666
2021-06-22 18:17:23 +00:00
Butkovits Atila
83f57b5c69 Backed out 22 changesets (bug 1714226, bug 1706374, bug 1713148) for causing build bustages on MessageChannel.cpp. CLOSED TREE
Backed out changeset ea469eaa54ca (bug 1713148)
Backed out changeset fd8523d5126e (bug 1713148)
Backed out changeset f2e5309c914c (bug 1713148)
Backed out changeset 2da57973ed55 (bug 1713148)
Backed out changeset 677e1ee99bb2 (bug 1713148)
Backed out changeset b4c0619e79bf (bug 1706374)
Backed out changeset c02fa459e77d (bug 1706374)
Backed out changeset 72dc6537cf0b (bug 1706374)
Backed out changeset 48088463c656 (bug 1706374)
Backed out changeset b09ae4c3a94b (bug 1706374)
Backed out changeset 04422175004b (bug 1706374)
Backed out changeset 110b2384e7d1 (bug 1706374)
Backed out changeset ab2b086abbd4 (bug 1706374)
Backed out changeset ffde07f73249 (bug 1706374)
Backed out changeset c6303af17ff4 (bug 1706374)
Backed out changeset 02249671c2f9 (bug 1706374)
Backed out changeset a6a5d05b5636 (bug 1706374)
Backed out changeset e21b6defb805 (bug 1706374)
Backed out changeset c72c5be9ddb1 (bug 1706374)
Backed out changeset 23cd961575a6 (bug 1706374)
Backed out changeset b412d6e9e145 (bug 1706374)
Backed out changeset a8ec285d6472 (bug 1714226)
2021-06-22 04:03:56 +03:00
Nika Layzell
96dd5437ae Bug 1706374 - Part 14: Track the absolute offset on iterators, r=glandium
This should improve the performance of large calls to AdvanceAcrossSegments
when using a very large BufferList, as we no longer need to iterate over each
element to find the destination when the call is closer to the end.

This will be used most frequently with the new footer code to seek to the end
of an IPC message to read out the footer.

Differential Revision: https://phabricator.services.mozilla.com/D116667
2021-06-21 21:53:12 +00:00
Nika Layzell
344d8d6622 Bug 1706374 - Part 13: Remove the event footer from an IPC::Message when deserializing, r=handyman,glandium
This unfortunately requires a new method to be added to BufferList to
support truncating the buffer to a particular iterator.

Differential Revision: https://phabricator.services.mozilla.com/D116666
2021-06-21 21:53:11 +00:00
Toshihito Kikuchi
deeb00a274 Bug 1695817 - Part 5: Add std::equal_range equivalent in MFBT. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D114598
2021-05-28 22:35:58 +00:00
Alexandru Michis
8fbcd44dc4 Backed out 9 changesets (bug 1695817) for causing bc failures in content/aboutThirdParty.js
CLOSED TREE

Backed out changeset 6b7f451e911e (bug 1695817)
Backed out changeset ad3ea67b3d70 (bug 1695817)
Backed out changeset b4f971059f3f (bug 1695817)
Backed out changeset 9c9a928d4a70 (bug 1695817)
Backed out changeset 4a9bcb38fddf (bug 1695817)
Backed out changeset 48c0eed38628 (bug 1695817)
Backed out changeset 7583675dccb1 (bug 1695817)
Backed out changeset e3f2bed63c33 (bug 1695817)
Backed out changeset 1c45ba4fba61 (bug 1695817)
2021-05-28 21:53:41 +03:00
Toshihito Kikuchi
0441dec54b Bug 1695817 - Part 5: Add std::equal_range equivalent in MFBT. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D114598
2021-05-28 15:32:31 +00:00
Butkovits Atila
3735a33d14 Backed out 9 changesets (bug 1695817) for causing build bustages. CLOSED TREE
Backed out changeset 49be1caf6501 (bug 1695817)
Backed out changeset 30f1382d6058 (bug 1695817)
Backed out changeset ab9fa7f3b633 (bug 1695817)
Backed out changeset b03b122438cc (bug 1695817)
Backed out changeset 812a6bbfbe0e (bug 1695817)
Backed out changeset 3551230a7522 (bug 1695817)
Backed out changeset c7354b48fbee (bug 1695817)
Backed out changeset 4860450c2e23 (bug 1695817)
Backed out changeset 29dee289f866 (bug 1695817)
2021-05-28 07:52:30 +03:00
Toshihito Kikuchi
f86792fbca Bug 1695817 - Part 5: Add std::equal_range equivalent in MFBT. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D114598
2021-05-28 04:19:07 +00:00
Butkovits Atila
711401ea39 Backed out 9 changesets (bug 1695817) for causing failures at browser_all_files_referenced.js. CLOSED TREE
Backed out changeset df4086427aaf (bug 1695817)
Backed out changeset 119a24f8be08 (bug 1695817)
Backed out changeset fd277ae2a7b8 (bug 1695817)
Backed out changeset a2c86a645fa8 (bug 1695817)
Backed out changeset c73705233fc4 (bug 1695817)
Backed out changeset 0a80eea3c0fa (bug 1695817)
Backed out changeset 9af42c7a3ca7 (bug 1695817)
Backed out changeset a2d11a0849d5 (bug 1695817)
Backed out changeset ba3ddcc28cbf (bug 1695817)
2021-05-28 03:05:09 +03:00
Toshihito Kikuchi
1a79ad5407 Bug 1695817 - Part 5: Add std::equal_range equivalent in MFBT. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D114598
2021-05-27 21:14:14 +00:00
Jan Varga
c06f56c861 Bug 1709352 - Allow QMResult errors to use existing stack id and to increase the frame id during error propagation; r=dom-storage-reviewers,asuth,glandium
Differential Revision: https://phabricator.services.mozilla.com/D114243
2021-05-25 07:28:20 +00:00
Gerald Squelart
5cbf88670f Bug 1710145 - Deduction guide RefPtr(already_AddRefed<T>) -> RefPtr<T> - r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D114809
2021-05-11 21:55:21 +00:00
Andi-Bogdan Postelnicu
eab549fd19 Bug 1519636 - Initial reformat of C/C++ code with clang-format version 12.0.0. r=sylvestre
clang-format version 12.0.0 (taskcluster-KEgO7qdgQ8uaewA6NkRnRA)

Differential Revision: https://phabricator.services.mozilla.com/D114211
2021-05-10 07:15:07 +00:00
Chris Fallin
2e5115af2e Bug 1704775 part 10 - Disable unsupported c++ tests. r=glandium
WASI doesn't support some c++ tests for threads, so
in this patch we just stubbed them out.

Differential Revision: https://phabricator.services.mozilla.com/D111815
2021-04-27 06:09:27 +00:00
Jan de Mooij
dca62ba9ee Bug 1706900 part 6 - Replace ShapeTable's custom hash table with a HashSet. r=jonco
This is much simpler and lets us tidy up the addProperty code more. It also makes
it easier to change ShapeTable for property maps in the future.

Lookup performance and memory usage appear to be similar for the two versions,
probably because ShapeTable used the same double-hashing algorithm and because
we can purge most ShapeTables on GC.

Differential Revision: https://phabricator.services.mozilla.com/D113089
2021-04-26 11:00:06 +00:00
Chris Fallin
c0d9956b61 Bug 1701885 part 6 - Fix signals for WASI. r=jandem,wingo
WASI lacks of the signals support yet, so this patch stubs out
uses of signals for WASI.

Differential Revision: https://phabricator.services.mozilla.com/D110216
2021-04-20 05:15:28 +00:00
Dmitry Bezhetskov
3cc53df2c0 Bug 1701879 part 5 - Add stub atomics implementation for WASI. r=wingo,glandium
WASI lacks of the <atomic> support yet, so this patch is adding stub
implementation of atomics for WASI.

Differential Revision: https://phabricator.services.mozilla.com/D110215
2021-04-20 05:15:28 +00:00
Mike Hommey
6a41d8d7ad Bug 1515229 - Make MozStackWalk/MozWalkTheStack frame skipping more reliable. r=gerald,nika,bobowen,jld
Differential Revision: https://phabricator.services.mozilla.com/D110899
2021-04-16 04:06:02 +00:00
Butkovits Atila
8255e3083f Backed out changeset 5c6b15fcea71 (bug 1515229) for causing GTest failures. CLOSED TREE 2021-04-15 13:37:29 +03:00
Mike Hommey
2eacd46d46 Bug 1515229 - Make MozStackWalk/MozWalkTheStack frame skipping more reliable. r=gerald,nika,bobowen,jld
Differential Revision: https://phabricator.services.mozilla.com/D110899
2021-04-14 22:31:36 +00:00
Emilio Cobos Álvarez
80439edf68 Bug 1699844 - Add an escape hatch for the refcounted inside lambda checker. r=andi
Allow using the MOZ_KnownLive function to get around it.

Use case is the following: I have an std::function member variable, and I want
that member to be able to capture `this`.

Using a strong reference creates a cycle and thus would leak. I know `this` to
always outlive the member, so it is fine to use a weak capture there.

Differential Revision: https://phabricator.services.mozilla.com/D111850
2021-04-14 19:12:02 +00:00
smolnar
22c6eb14ba Backed out changeset f7b0cdc3aeb0 (bug 1515229) for causing xpc failures in test_feature_stackwalking. CLOSED TREE 2021-04-14 12:25:37 +03:00
Mike Hommey
133396cb94 Bug 1515229 - Make MozStackWalk/MozWalkTheStack frame skipping more reliable. r=gerald,nika,bobowen,jld
Differential Revision: https://phabricator.services.mozilla.com/D110899
2021-04-14 04:47:09 +00:00
Chris Fallin
605271bd29 Bug 1701620 part 4 - Fix memory support for WASI. r=jandem,sfink
WASI lacks of support many memory stuff like mmap, memory protections and etc, but
it has malloc so we can use it instead. Also, here we are stubbing out all
uses of the missing WASI memory functionality.

Differential Revision: https://phabricator.services.mozilla.com/D110075
2021-04-13 08:25:10 +00:00
Csoregi Natalia
91bd333c25 Backed out changeset f48cb748519b (bug 1701620) for bustage on Memory.cpp. CLOSED TREE 2021-04-13 10:09:41 +03:00
Chris Fallin
4e5ae46c03 Bug 1701620 part 4 - Fix memory support for WASI. r=jandem,sfink
WASI lacks of support many memory stuff like mmap, memory protections and etc, but
it has malloc so we can use it instead. Also, here we are stubbing out all
uses of the missing WASI memory functionality.

Differential Revision: https://phabricator.services.mozilla.com/D110075
2021-04-13 06:50:13 +00:00
Chris Fallin
f062cdc9ba Bug 1701613 part 3 - Add stub thread implementation for WASI. r=jandem,wingo
WASI lacks thread support so the stub implementation for threads has been added.

Differential Revision: https://phabricator.services.mozilla.com/D110073
2021-04-08 08:02:16 +00:00