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

492 Коммитов

Автор SHA1 Сообщение Дата
Simon Giesecke 760cc7e936 Bug 1679522 - Fix include directives and forward declarations. r=andi,necko-reviewers,jgilbert
- Add missing include directives and forward declarations.
- Remove some extra include directives.
- Add missing namespace qualifications.
- Move include directives out of namespace in toolkit/xre/GlobalSemaphore.h

Differential Revision: https://phabricator.services.mozilla.com/D98894
2021-03-25 10:19:44 +00:00
Emilio Cobos Álvarez 5c86c09175 Bug 1682556 - Increase vm_copy() threshold. r=glandium
The current implementation is a regression on microbenchmarks that
reallocate allocations that go over gPageSize * 32 compared to memcpy().

Differential Revision: https://phabricator.services.mozilla.com/D100217
2020-12-23 01:35:22 +00:00
Paul Bone 788a04db2c Bug 1682204 - Clear arena_t::mId in the constructor r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D99638
2020-12-17 23:24:53 +00:00
Cristina Coroiu 8994f0036c Backed out changeset f12f5989419a (bug 1670885) for causing frequent failures for bug 1682467 on a CLOSED TREE 2020-12-16 15:49:51 +02:00
Gabriele Svelto ff41ce10e1 Bug 1670885 - Replace deprecated NSSpinLocks with os_unfair_locks in the memory allocator r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D99280
2020-12-14 15:53:41 +00:00
Emilio Cobos Álvarez 71926eea81 Bug 1681003 - When realloc() grows an allocation, allow switching out of public arenas if plain malloc() would've done that. r=glandium
Otherwise we may grow thread-local arenas a lot.

Differential Revision: https://phabricator.services.mozilla.com/D98924
2020-12-10 10:59:09 +00:00
David Major 785368780a Bug 1681243 - Use noexcept on arena_t's fallible allocator, even on Windows r=glandium
In clang-cl builds, thanks to clang-cl's defining of `_MSC_VER`, this function was not marked `noexcept`. This led clang to believe that it could call `arena_t`'s constructor without checking for null.

I suppose we could scope the condition down to real MSVC, but since we don't support that anymore, we can just stop checking.

Differential Revision: https://phabricator.services.mozilla.com/D99137
2020-12-09 14:10:26 +00:00
Emilio Cobos Álvarez 22f8edff88 Bug 1681075 - Manually inline arena_salloc. r=glandium
It's small and only has one caller.

Differential Revision: https://phabricator.services.mozilla.com/D98923
2020-12-09 08:19:49 +00:00
Emilio Cobos Álvarez 2a038173c3 Bug 1681075 - Deduplicate some common code in Ralloc. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D98922
2020-12-08 11:24:10 +00:00
Paul Bone 96d3e53990 Bug 1670188 - pt 2. Add a tool that prints the run lengths for size classes r=glandium
This new program prints the jemalloc configuration, it is only built for
--enable-project=memory

Differential Revision: https://phabricator.services.mozilla.com/D93184
2020-11-20 03:33:57 +00:00
Paul Bone 790088fdb7 Bug 1670188 - pt 1. Update run size table on arena_bin_t:Init r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D93183
2020-11-11 05:21:25 +00:00
Ricky Stewart 02a7b4ebdf Bug 1654103: Standardize on Black for Python code in `mozilla-central`.
Allow-list all Python code in tree for use with the black linter, and re-format all code in-tree accordingly.

To produce this patch I did all of the following:

1. Make changes to tools/lint/black.yml to remove include: stanza and update list of source extensions.

2. Run ./mach lint --linter black --fix

3. Make some ad-hoc manual updates to python/mozbuild/mozbuild/test/configure/test_configure.py -- it has some hard-coded line numbers that the reformat breaks.

4. Make some ad-hoc manual updates to `testing/marionette/client/setup.py`, `testing/marionette/harness/setup.py`, and `testing/firefox-ui/harness/setup.py`, which have hard-coded regexes that break after the reformat.

5. Add a set of exclusions to black.yml. These will be deleted in a follow-up bug (1672023).

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D94045
2020-10-26 18:34:53 +00:00
Bogdan Tara da1098d4aa Backed out 10 changesets (bug 1654103, bug 1672023, bug 1518999) for PanZoomControllerTest.touchEventForResult gv-junit failures CLOSED TREE
Backed out changeset ff3fb0b4a512 (bug 1672023)
Backed out changeset e7834b600201 (bug 1654103)
Backed out changeset 807893ca8069 (bug 1518999)
Backed out changeset 13e6b92440e9 (bug 1518999)
Backed out changeset 8b2ac5a6c98a (bug 1518999)
Backed out changeset 575748295752 (bug 1518999)
Backed out changeset 65f07ce7b39b (bug 1518999)
Backed out changeset 4bb80556158d (bug 1518999)
Backed out changeset 8ac8461d7bd7 (bug 1518999)
Backed out changeset e8ba13ee17f5 (bug 1518999)
2020-10-24 03:36:18 +03:00
Ricky Stewart c0cea3b0fa Bug 1654103: Standardize on Black for Python code in `mozilla-central`. r=remote-protocol-reviewers,marionette-reviewers,webdriver-reviewers,perftest-reviewers,devtools-backward-compat-reviewers,jgilbert,preferences-reviewers,sylvestre,maja_zf,webcompat-reviewers,denschub,ntim,whimboo,sparky
Allow-list all Python code in tree for use with the black linter, and re-format all code in-tree accordingly.

To produce this patch I did all of the following:

1. Make changes to tools/lint/black.yml to remove include: stanza and update list of source extensions.

2. Run ./mach lint --linter black --fix

3. Make some ad-hoc manual updates to python/mozbuild/mozbuild/test/configure/test_configure.py -- it has some hard-coded line numbers that the reformat breaks.

4. Make some ad-hoc manual updates to `testing/marionette/client/setup.py`, `testing/marionette/harness/setup.py`, and `testing/firefox-ui/harness/setup.py`, which have hard-coded regexes that break after the reformat.

5. Add a set of exclusions to black.yml. These will be deleted in a follow-up bug (1672023).

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D94045
2020-10-23 20:40:42 +00:00
Dorel Luca 1ff59cb7a3 Backed out changeset 7558c8821a07 (bug 1654103) for multiple failures. CLOSED TREE 2020-10-22 03:51:06 +03:00
Ricky Stewart 50762dacab Bug 1654103: Standardize on Black for Python code in `mozilla-central`. r=remote-protocol-reviewers,marionette-reviewers,webdriver-reviewers,perftest-reviewers,devtools-backward-compat-reviewers,jgilbert,preferences-reviewers,sylvestre,maja_zf,webcompat-reviewers,denschub,ntim,whimboo,sparky
Allow-list all Python code in tree for use with the black linter, and re-format all code in-tree accordingly.

To produce this patch I did all of the following:

1. Make changes to tools/lint/black.yml to remove include: stanza and update list of source extensions.

2. Run ./mach lint --linter black --fix

3. Make some ad-hoc manual updates to python/mozbuild/mozbuild/test/configure/test_configure.py -- it has some hard-coded line numbers that the reformat breaks.

4. Add a set of exclusions to black.yml. These will be deleted in a follow-up bug (1672023).

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D94045
2020-10-21 21:27:27 +00:00
Paul Bone 8e48a8d8f3 Bug 1656155 - pt 4. Update size class fields in jemalloc_stats_t r=glandium
Previously there was one field here named small_max, and it wasn't obvious
from the name alone whether this meant the end of the
quantum-spaced sizes or the subpage sizes.  Instead place both these fields
into the structure with clearer names.  Besides, a later page will need
subpage_max.

Differential Revision: https://phabricator.services.mozilla.com/D88402
2020-10-08 22:43:35 +00:00
Paul Bone 46597c49d2 Bug 1656155 - pt 2. Provide bin usage stats in jemalloc_stats r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D85726
2020-10-08 22:42:45 +00:00
Paul Bone b325fd9328 Bug 1656155 - pt 1. Reuse a computation in jemalloc r=glandium
Add a new variable and use it instead of a longer expression in several
places.

Differential Revision: https://phabricator.services.mozilla.com/D85724
2020-10-08 22:42:27 +00:00
Paul Bone 9177c6da0b Bug 1668421 - Improve a use of fallible in jemalloc r=glandium
Depends on D92017

Differential Revision: https://phabricator.services.mozilla.com/D92018
2020-10-05 00:49:22 +00:00
Chris Peterson 3e124aaca9 Bug 1663237 - Replace MOZ_MUST_USE with [[nodiscard]] in mozjemalloc. r=glandium
The MOZ_MUST_USE macro is defined as clang's and gcc's nonstandard __attribute__((warn_unused_result)). Now that we compile as C++17 by default (bug 1560664), we can replace MOZ_MUST_USE with C++17's standard [[nodiscard]] attribute.

We can also stop #including mozilla/Attributes.h because it was only needed for its MOZ_MUST_USE declaration.

Differential Revision: https://phabricator.services.mozilla.com/D89310
2020-09-08 07:20:19 +00:00
Haik Aftandilian cc6114c1cc Bug 1660045 - Patch 1 - Use the runtime pagesize for Mac Intel builds r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D87013
2020-08-27 07:04:01 +00:00
Nathan Froyd e3ebda1914 Bug 1223932 - delete guard object uses from the tree; r=jwalden
CLOSED TREE

We don't need these macros anymore, for two reasons:

1. We have static analysis to provide the same sort of checks via `MOZ_RAII`
   and friends.
2. clang now warns for the "temporary that should have been a declaration" case.

The extra requirements on class construction also show up during debug tests
as performance problems.

This change was automated by using the following sed script:

```
# Remove declarations in classes.
/MOZ_DECL_USE_GUARD_OBJECT_NOTIFIER/d
/MOZ_GUARD_OBJECT_NOTIFIER_INIT/d

# Remove individual macros, carefully.
{
  # We don't have to worry about substrings here because the closing
  # parenthesis "anchors" the match.
  s/MOZ_GUARD_OBJECT_NOTIFIER_PARAM)/)/g;
  s/MOZ_GUARD_OBJECT_NOTIFIER_PARAM_TO_PARENT)/)/g;
  s/MOZ_GUARD_OBJECT_NOTIFIER_PARAM_IN_IMPL)/)/g;
  s/MOZ_GUARD_OBJECT_NOTIFIER_ONLY_PARAM_IN_IMPL)/)/g;

  # Remove the longer identifier first.
  s/MOZ_GUARD_OBJECT_NOTIFIER_ONLY_PARAM_TO_PARENT//g;
  s/MOZ_GUARD_OBJECT_NOTIFIER_ONLY_PARAM//g;
}

# Remove the actual include.
\@# *include "mozilla/GuardObjects.h"@d
```

and running:

```
find . -name \*.cpp -o -name \*.h | grep -v 'GuardObjects.h' |xargs sed -i -f script 2>/dev/null
mach clang-format
```

Differential Revision: https://phabricator.services.mozilla.com/D85168
2020-07-30 14:22:38 +00:00
Mihai Alexandru Michis a911a108d0 Backed out changeset ac9c811bc427 (bug 1223932) for causing spidermonkey rust failures.
CLOSED TREE
2020-07-30 18:23:21 +03:00
Nathan Froyd bec9f9b93a Bug 1223932 - delete guard object uses from the tree; r=jwalden
We don't need these macros anymore, for two reasons:

1. We have static analysis to provide the same sort of checks via `MOZ_RAII`
   and friends.
2. clang now warns for the "temporary that should have been a declaration" case.

The extra requirements on class construction also show up during debug tests
as performance problems.

This change was automated by using the following sed script:

```
# Remove declarations in classes.
/MOZ_DECL_USE_GUARD_OBJECT_NOTIFIER/d
/MOZ_GUARD_OBJECT_NOTIFIER_INIT/d

# Remove individual macros, carefully.
{
  # We don't have to worry about substrings here because the closing
  # parenthesis "anchors" the match.
  s/MOZ_GUARD_OBJECT_NOTIFIER_PARAM)/)/g;
  s/MOZ_GUARD_OBJECT_NOTIFIER_PARAM_TO_PARENT)/)/g;
  s/MOZ_GUARD_OBJECT_NOTIFIER_PARAM_IN_IMPL)/)/g;
  s/MOZ_GUARD_OBJECT_NOTIFIER_ONLY_PARAM_IN_IMPL)/)/g;

  # Remove the longer identifier first.
  s/MOZ_GUARD_OBJECT_NOTIFIER_ONLY_PARAM_TO_PARENT//g;
  s/MOZ_GUARD_OBJECT_NOTIFIER_ONLY_PARAM//g;
}

# Remove the actual include.
\@# *include "mozilla/GuardObjects.h"@d
```

and running:

```
find . -name \*.cpp -o -name \*.h | grep -v 'GuardObjects.h' |xargs sed -i -f script 2>/dev/null
mach clang-format
```

Differential Revision: https://phabricator.services.mozilla.com/D85168
2020-07-30 14:22:38 +00:00
Nathan Froyd 1f77873a31 Bug 1649259 - include Attributes.h in memory/'s Mutex.h; r=glandium
We need this for `MOZ_RAII`.

Differential Revision: https://phabricator.services.mozilla.com/D81599
2020-07-01 13:39:34 +00:00
Mike Hommey eb6d411650 Bug 1200075 - Do not avoid sqlite3 using _msize. r=froydnj
It was setup this way in bug 719579 for legitimate reasons (because
_msize would end up using the system symbol, which would crash trying to
get the size information from jemalloc allocations), but these reasons
don't apply anymore: back then the linking situation was different, and
nowadays, mozglue.dll exports its own _msize which plugs into
mozjemalloc, and sqlite is folded into nss3.dll, which links against
mozglue.dll, such that using _msize on mozjemalloc allocations works.

For some reason, while _msize (and other similar functions) are exported
from mozglue.dll without an explicit instruction to do so on clang-cl
builds, that's not the case for mingw builds (presumably related to the
definition of these functions in system headers, or lack thereof). So
we also add MOZ_EXPORT for them.

Differential Revision: https://phabricator.services.mozilla.com/D81286
2020-06-29 16:22:50 +00:00
Gian-Carlo Pascutto ecee111c1f Bug 1553717 - Use Randomization on all arenas in non-Content Processes. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D70240
2020-05-13 08:31:04 +00:00
André Bargull ebec34a898 Bug 1625138 - Part 16: Replace mozilla::IsIntegral with std::is_integral. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D68371

--HG--
extra : moz-landing-system : lando
2020-03-28 13:57:15 +00:00
Andrew McCreight 4babb2b5ab Bug 1609815 - Remove Web Replay C++ implementation. r=jgilbert,jandem,gbrown
Patch by bhackett and jlaster. Also reviewed by mccr8.

Differential Revision: https://phabricator.services.mozilla.com/D60197

--HG--
extra : moz-landing-system : lando
2020-02-27 17:39:15 +00:00
Ciure Andrei 00dd87f6f4 Backed out changeset d407a28318e6 (bug 1609815) for causing windows ming bustages CLOSED TREE
--HG--
extra : histedit_source : b2c748e31e0f6ba8fcf9960a336e0bbd361b07e6
2020-02-27 07:05:19 +02:00
Andrew McCreight b197e1f783 Bug 1609815 - Remove Web Replay C++ implementation. r=jgilbert,jandem,gbrown
Patch by bhackett and jlaster. Also reviewed by mccr8.

Differential Revision: https://phabricator.services.mozilla.com/D60197

--HG--
extra : moz-landing-system : lando
2020-02-27 04:43:48 +00:00
Mike Hommey a28cf3044f Bug 1613011 - Clear node links when removing it from a RedBlackTree. r=njn
The assert that was added in bug 1610720 assumed the node links were
reset when a node is removed from a RedBlackTree, but that wasn't the
case. We can either remove the assert, or clear node links. We pick the
latter.

Differential Revision: https://phabricator.services.mozilla.com/D61515

--HG--
extra : moz-landing-system : lando
2020-02-04 02:05:19 +00:00
Mike Hommey b535767244 Bug 1610720 - Change moz_dispose_arena to allow to free empty arenas. r=erahm
Currently, it's expected to "lazily" dispose of the arena. That is, if
the arena still has allocations, the arena is kept around. Using it for
new allocations is an error, but otherwise, it's possible to free
allocations from there. Once it's empty, the arena is freed too. Well,
that's the idea, but that last part is not actually implemented, cf.
bug 1364359.

While that is still an (optionally) desirable disposal mode, other modes
would be useful as well. So this bug is here to switch the current mode
to something that can more easily be used for e.g. bug 1377999.

The idea is to make moz_dispose_arena() free the arena immediately, and
MOZ_CRASH if it's not already empty (on a besst effort basis).

Differential Revision: https://phabricator.services.mozilla.com/D60635

--HG--
extra : moz-landing-system : lando
2020-01-24 02:06:32 +00:00
Mike Hommey 505aa46f90 Bug 1610720 - Templatize the base allocator wrapper that uses a free-list. r=erahm
The base_node_alloc and base_node_dealloc are wrappers for the base
allocator that allow to free memory (the base allocator doesn't support
freeing memory), using a free list. They are dedicated to extent_node_t
objects (the only ones we currently ever need to free).

We're going to need to free other types of objects, so make this more
generic.

Differential Revision: https://phabricator.services.mozilla.com/D60634

--HG--
extra : moz-landing-system : lando
2020-01-24 02:03:37 +00:00
Brian Hackett f74708b30a Bug 1598951 Part 2 - Don't record random numbers in jemalloc, r=glandium.
Depends on D58437

Differential Revision: https://phabricator.services.mozilla.com/D58440

--HG--
extra : moz-landing-system : lando
2020-01-10 05:26:10 +00:00
Tom Ritter 2893552105 Bug 1590624 - Define a __imp_ alias for _strdup for mingw-clang r=dmajor
This is affected by the same problem detailed in the comment.

Differential Revision: https://phabricator.services.mozilla.com/D54532

--HG--
extra : moz-landing-system : lando
2019-12-12 06:38:37 +00:00
Andreea Pavel a533b175dd Backed out 4 changesets (bug 1590624) for breaking gecko decision task on a CLOSED TREE
Backed out changeset 2ac8dd1d709d (bug 1590624)
Backed out changeset 8432398c212a (bug 1590624)
Backed out changeset 2b28154aacdb (bug 1590624)
Backed out changeset d305e4160ee4 (bug 1590624)

--HG--
rename : build/build-clang/clang-9-mingw.json => build/build-clang/clang-8-mingw.json
rename : taskcluster/scripts/misc/build-clang-mingw.sh => taskcluster/scripts/misc/build-clang-8-mingw.sh
2019-12-12 08:35:11 +02:00
Tom Ritter 9a04d03693 Bug 1590624 - Define a __imp_ alias for _strdup for mingw-clang r=dmajor
This is affected by the same problem detailed in the comment.

Differential Revision: https://phabricator.services.mozilla.com/D54532

--HG--
extra : moz-landing-system : lando
2019-12-07 03:03:16 +00:00
Sylvestre Ledru 8d2f0d1b1f Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D54686

--HG--
extra : moz-landing-system : lando
2019-11-26 14:35:02 +00:00
Gian-Carlo Pascutto b5c1d7951a Bug 1539133 - Explicitly say not being able to mmap is likely OOM. r=decoder,glandium
Differential Revision: https://phabricator.services.mozilla.com/D43929

--HG--
extra : moz-landing-system : lando
2019-11-12 00:04:46 +00:00
Sylvestre Ledru f12b9fa5c3 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D47737

--HG--
extra : moz-landing-system : lando
2019-10-06 18:29:55 +00:00
Nathan Froyd b47e23e17a Bug 1411613 - mark certain allocation functions as non-throwing; r=glandium
glibc marks various allocation functions as `throw()`.  This addition
hasn't been a problem until we tried to enable C++17, where clang
started complaining that we were redeclaring functions with mismatched
exception specifications.  Peculiarly, glibc declares virtually
everything we redeclare as `throw()`, but clang only complains about the
mismatches for a particular subset of functions.

The approach taken in this patch is to add another potentially defined
macro to malloc_decls.h, `NOTHROW_MALLOC_DECL`.  This macro works
exactly like `MALLOC_DECL`, except that clients can define
`NOTHROW_MALLOC_DECL` to add appropriate `throw()` specifiers when
declaring functions at global scope, and thereby avoid mismatched
exception specifications.

Differential Revision: https://phabricator.services.mozilla.com/D44045

--HG--
extra : moz-landing-system : lando
2019-09-04 23:40:15 +00:00
Tom Ritter 1f279f7006 Bug 1547519 - Fix jemalloc redirections for MinGW build r=glandium
In the MinGW build, calls to malloc inside mozglue were not being
redirected as defined in the .def file. We create aliases for the
redirected functions to correctly redirect them inside mozglue.

An alternate solution for this exists. Rather than creating the
importlib during the linking step for mozglue, we could have used
dlltool to create it, and then provided it during linking. This
would allow mozglue to know that it should redirect calls to malloc
to je_malloc as specified in the .def file.

Differential Revision: https://phabricator.services.mozilla.com/D38407

--HG--
extra : moz-landing-system : lando
2019-09-04 02:40:08 +00:00
Mihai Alexandru Michis 13fa935d68 Backed out changeset b1faa1af2967 (bug 1546442) for causing a spike in bug 1475812 and bug 1471001 a=backout 2019-07-26 00:15:37 +03:00
Gian-Carlo Pascutto 08c4b524cb Bug 1546442 - Leading guard pages for normal allocations. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D28516

--HG--
extra : moz-landing-system : lando
2019-07-25 09:22:47 +00:00
Nicholas Nethercote 38dbbfcffc Bug 1523276 - Implement PHC, a probabilistic heap checker. r=glandium,gsvelto
Differential Revision: https://phabricator.services.mozilla.com/D25021

--HG--
extra : rebase_source : 86e94499f746b18a596130341692c6a9992d4867
2019-07-03 09:26:11 +10:00
Mike Hommey 8b2a1911b2 Bug 1559379 - Export C++ allocation functions from mozglue on all platforms. r=froydnj
- On Android, we were already doing it, but using fallible allocations.
- On *nix, it probably doesn't make a difference, but can't hurt. For
  most things in Gecko, operator new/delete are inlined and thus
  replaced by direct calls to the underlying allocator functions
  (moz_xmalloc, malloc, etc.). This may have a benefit for some third
  party libraries that would otherwise go through libstdc++'s to
  eventually end up back into our allocator via the zone allocator
  on macOS and via the exported symbols on others.
- On Windows, because of how some CRT static libraries are, a non-inlined
  operator new (thanks to some disabled STL wrapping) would end up linked
  against the system malloc, causing problems.

Overall, this can only be better. This also reduces the number of places
where we define those functions.

And on Android, this means operator new within mozglue becomes infallible,
which is more consistent with everything else.

Differential Revision: https://phabricator.services.mozilla.com/D36166

--HG--
extra : moz-landing-system : lando
2019-06-27 22:07:42 +00:00
Andreea Pavel f145bcfd98 Backed out 2 changesets (bug 1559379) for SM build bustages on a CLOSED TREE
Backed out changeset 0defd54899e2 (bug 1559379)
Backed out changeset ee4f23ea8530 (bug 1559379)
2019-06-28 01:03:23 +03:00
Mike Hommey 52dc935c68 Bug 1559379 - Export C++ allocation functions from mozglue on all platforms. r=froydnj
- On Android, we were already doing it, but using fallible allocations.
- On *nix, it probably doesn't make a difference, but can't hurt. For
  most things in Gecko, operator new/delete are inlined and thus
  replaced by direct calls to the underlying allocator functions
  (moz_xmalloc, malloc, etc.). This may have a benefit for some third
  party libraries that would otherwise go through libstdc++'s to
  eventually end up back into our allocator via the zone allocator
  on macOS and via the exported symbols on others.
- On Windows, because of how some CRT static libraries are, a non-inlined
  operator new (thanks to some disabled STL wrapping) would end up linked
  against the system malloc, causing problems.

Overall, this can only be better. This also reduces the number of places
where we define those functions.

And on Android, this means operator new within mozglue becomes infallible,
which is more consistent with everything else.

Differential Revision: https://phabricator.services.mozilla.com/D36166

--HG--
extra : moz-landing-system : lando
2019-06-27 14:01:31 +00:00