112 Commits

Author SHA1 Message Date
David Major
bb5fe68fae Bug 419470: Re-enable PGO for Linux mozjemalloc. r=glandium
It only took nine years.

MozReview-Commit-ID: 2zsCBMTJ6O1

--HG--
extra : rebase_source : e3be1bd1c930d32d3c7a9e2d707ed3fe6bc0936f
2017-02-22 09:46:06 +13:00
Emanuel Hoogeveen
51fc28feca Bug 1338574 - Part 8: Use MOZ_ASSERT and MOZ_CRASH_UNSAFE_OOL in mozjemalloc. r=glandium
--HG--
extra : rebase_source : 73f61842eb44bd0bfe7d3eca9267cfa10f771295
2017-02-21 18:02:07 +01:00
Emanuel Hoogeveen
00c7d04549 Bug 1339441 - Take the arena lock earlier in arena_dalloc(). r=glandium
--HG--
extra : rebase_source : 95e8f744a9f77381270fd8f8942765b144b844a2
2017-02-15 09:48:00 -05:00
Mike Hommey
c9370d609b Bug 1332508 - Reinitialize allocator mutexes in fork() child processes. r=njn
Adapted from
4e2e3dd9cf
and
d9f7b2a430

As per the latter commit, it would seem unlocking, in fork() child
processes, mutexes that were locked in the parent process is not really
well supported on OSX 10.12. The addition of the zone_reinit_lock
function in 10.12 supports this idea.

--HG--
extra : rebase_source : b3b58558cc195d63200078085c7e9b6c9b8d83ff
2017-01-20 10:06:41 +09:00
Mike Hommey
e52769e834 Bug 1286613 - Use the same zone allocator implementation as replace-malloc for mozjemalloc. r=njn
We have been using a different zone allocator between mozjemalloc and
replace-malloc for a long time. Jemalloc 4 uses the same as
replace-malloc, albeit as part of the jemalloc upstream code base.

We've been bitten many times in the past with Apple changes breaking the
zone allocator, and each time we've had to make changes to the three
instances, although two of them are similar and the changes there are
straightforward.

It also turns out that the way the mozjemalloc zone allocator is set up,
when a new version of OSX appears with a new version of the system zone
allocator, Firefox ends up using the system allocator, because the zone
allocator version is not supported.

So, we use the same zone allocator for both replace-malloc and
mozjemalloc, making everything on par with jemalloc 4.

--HG--
extra : rebase_source : 9c0e245b5f82bb71294370d607e690c05cc89fbc
2017-01-18 11:45:45 +09:00
Mike Hommey
50dd84a5d8 Bug 1286613 - Properly call mozjemalloc pre/post fork hooks on OSX when replace-malloc is enabled. r=njn
Somehow, we never called those hooks when replace-malloc is enabled. I'd
expect this to cause random deadlocks when forking, and I'm surprised
this hasn't surfaced. Maybe it actually causes some intermittent oranges
on automation, who knows.

This also brings consistency with what is done for jemalloc 4, and with
the mozjemalloc implementation, too, that we're going to replace with
this one in a subsequent changeset.

--HG--
extra : rebase_source : 059567d17f928098db8367e9081b631ced351110
2017-01-19 09:37:22 +09:00
John Paul Adrian Glaubitz
4b76f57494 Bug 1275204 - mozjemalloc: Use the JS arm64 allocator on Linux/sparc64. r=glandium 2017-01-11 16:09:39 +09:00
John Paul Adrian Glaubitz
dbf939ff1d Bug 1275204 - mozjemalloc: Use better pre-processor defines for sparc64. r=glandium 2017-01-11 16:05:53 +09:00
Mike Hommey
97ae022e70 Bug 1311039 - Properly detect the default malloc zone on OSX 10.12. r=njn
--HG--
extra : rebase_source : e625875064e051fa931cab5827debe9fd02d91cf
2016-11-03 10:02:06 +09:00
Emanuel Hoogeveen
b324d2ba21 Bug 1315939 - Use FINAL_LIBRARY = 'memory' in jemalloc and mozjemalloc. r=glandium
--HG--
extra : rebase_source : 94d19e08090839537ca5174baa8b37993d108acc
2016-11-10 06:57:00 -05:00
Emanuel Hoogeveen
e0a81d7503 Bug 1309573 - Part 2: Define MOZ_HAS_MOZGLUE in various places so that the crash reason gets used. r=glandium
--HG--
extra : rebase_source : d55e8dd75469759f333366bdf9662178ff0a2474
2016-11-08 03:53:00 -05:00
Cameron McCormack
072d6a1fbe Bug 1291356 - Enable multiple jemalloc arenas for MOZ_STYLO builds. r=me
--HG--
extra : rebase_source : eaaaf6fd3aad8a99c7032ce55a1d351f2bf80af1
2016-08-26 20:21:48 +09:00
Emanuel Hoogeveen
8210833803 Bug 1294732 - Back out all of bug 1271165 as it has served its purpose. r=glandium 2016-08-23 08:45:00 -04:00
Emanuel Hoogeveen
581ecef4dd Bug 1271165 - Part 6: Change the new functions to MFBT_API to export them on OSX. r=jandem
--HG--
extra : rebase_source : cc3d6cd7cec9c822904364ace811d2c0dff98eff
2016-08-16 07:12:00 -04:00
Emanuel Hoogeveen
f7bdbc26ad Bug 1271165 - Part 4: Enable the new functionality in mozjemalloc. r=ehoogeveen 2016-08-12 07:38:00 -04:00
Emanuel Hoogeveen
506ca1034e Bug 1271165 - Part 1: Add protected allocation functions and supporting infrastructure to mozjemalloc. r=ehoogeveen 2016-08-12 07:36:00 -04:00
Emanuel Hoogeveen
54e158268e Bug 1271165 - Part 0: Strip trailing blanks from mozjemalloc. r=ehoogeveen 2016-08-12 07:36:00 -04:00
Alexandre Lissy
0af5b943b6 Bug 1284674 - Remove NUWA r=cyu
MozReview-Commit-ID: GyMRNzOBKw6

--HG--
extra : rebase_source : 293af1cd55f2035ce6a99f4ebf144059c32a2b8f
2016-08-02 14:54:00 +02: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
Chris Peterson
8a9e2d2bd4 Bug 1272513 - Part 2: Remove redundant -Wshadow CXXFLAGS from moz.build files. r=glandium 2016-05-14 00:54:55 -07:00
Makoto Kato
234456a100 Bug 1091515 - Don't set 64KB page size on aarch64. r=glandium
Linux/aarch64 supports vairous page size configuration.

(From https://www.kernel.org/doc/Documentation/arm64/memory.txt)
- 4KB + 3 levels
- 4KB + 4 levels
- 64KB + 2 leves

So we shouldn't set fixed 64KB page size on aarch64.


MozReview-Commit-ID: 8IdwBMUW4me

--HG--
extra : rebase_source : 2f3d8de3ea118313cb6dc5f48b7532d9b051c1e6
2016-04-05 18:54:42 +09:00
Eric Rahm
c2edbab476 Bug 1181142 - Part 1: Make the minimum allocation size word sized on all platforms. r=glandium
Bug 691003 made the minimum allocation size word sized for Linux and OS X, we
now need to do a similar change on Windows as well. For Windows the requirement
is 8-bytes on 32-bit and 16-bytes on 64-bit.
2015-07-07 17:36:31 -07:00
Sebastian Hengst
554c274197 Backed out changeset 4593c32d5b81 (bug 1181142) for making XPCshell test_dmd.js fail on Windows 8 x64 debug. r=backout 2016-03-25 21:53:30 +01:00
Eric Rahm
9386c16326 Bug 1181142 - Part 1: Make the minimum allocation size word sized on all platforms. r=glandium
Bug 691003 made the minimum allocation size word sized for Linux and OS X, we
now need to do a similar change on Windows as well. For Windows the requirement
is 8-bytes on 32-bit and 16-bytes on 64-bit.
2015-07-07 17:36:31 -07:00
Nicholas Nethercote
5752d3b3e6 Bug 1258257 - Reduce mozjemalloc page cache size from 4 MiB to 1 MiB. r=glandium.
This reduces memory usage by up to 3 MiB per process.

MozReview-Commit-ID: Gfs9PIJM4br

--HG--
extra : rebase_source : 69ac5acf7f7f0c802a047f5bf72838e5c4d1f123
2016-03-24 16:38:45 +11:00
Nicholas Nethercote
a9f31c44eb Bug 1232219 (part 4) - Enable -Wunused for C code, except where it's too annoying. r=glandium.
--HG--
extra : rebase_source : febc9aac7ec5e3699742e728065c370dcee4f0f3
2015-12-16 22:59:42 -08:00
Nicholas Nethercote
57bef6b196 Bug 1232219 (part 3) - Fix remaining -Wunused warnings. r=glandium.
--HG--
extra : rebase_source : 357474b4c7729b78a3030dfefd720aad4e1b2576
2015-12-16 22:57:51 -08:00
Chris Peterson
18028bbae1 Bug 1226907 - Part 2: Fix warnings in mozjemalloc and remove ALLOW_COMPILER_WARNINGS. r=glandium 2015-11-15 13:21:56 -08:00
Chris Peterson
6cdcbe459d Bug 1226907 - Part 1: Check _write and strerror_r return values in mozjemalloc. r=njn 2015-11-27 13:24:56 -08:00
Mike Hommey
0efccdc82c Bug 1201792 - s/MOZ_JEMALLOC3/MOZ_JEMALLOC4/. r=njn 2015-09-04 15:15:47 +09:00
Nicholas Nethercote
1dface560b Bug 1044077 - Tweak some jemalloc constants. r=glandium.
--HG--
extra : rebase_source : bfdb94191aa0872fd1aff52f143c63b0a3e41848
2015-07-14 20:35:37 -07: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
Chris Peterson
1416e566de Bug 1198124 - Enable -Wshadow in directories that have no -Wshadow warnings. r=glandium 2015-08-25 09:14:38 -07:00
Nathan Froyd
cc763887fa Bug 1186444 - part 1 - move uses of MODULE_OPTIMIZE_FLAGS to moz.build's CFLAGS; r=mshal
Now that we have moz.build, we can be guaranteed that any flags we add
in moz.build will be added after everything else has been setup.  So any
uses of MODULE_OPTIMIZE_FLAGS can be moved to moz.build's
CFLAGS/CXXFLAGS without any unusual repercussions.  We do have to verify
that MOZ_OPTIMIZE is in effect, though.
2015-07-22 11:04:32 -04:00
Mike Hommey
d3beba14ab Bug 1137580 - Do not use system realloc in mozjemalloc-exposed _recalloc. r=njn 2015-08-07 16:27:28 +09:00
Mike Hommey
f61d5cbfd5 Bug 1172632 - Don't guess malloc_usable_size type of argument based on ANDROID_VERSION in mozjemalloc, but use the result of the configure test instead. r=njn 2015-06-10 10:49:21 +09:00
Leila Hadji
b544725c2c Bug 498166 - malloc_init deadlock due to pthread_atfork. r=glandium 2015-05-22 06:01:00 -04:00
Paul Rouget
d60a1bd75e Bug 1156628 - Don't limit the number of unused dirty pages kept by jemalloc on B2G desktop. r=gsvelto, r=glandium 2015-04-24 03:58:00 -04:00
Mike Hommey
548d773d4e Bug 1104634 - Force optimize mozjemalloc on --disable-optimize builds. r=gps
The reason for --disable-optimize is to make debugging easier, but not many
people actually need a high level of debuggability of the allocator itself.
This works around the issue that the Android NDK's definition of ffs is
broken when compiling without optimization, while avoiding to add yet another
configure test.
2014-12-10 10:50:44 +09:00
Emanuel Hoogeveen
d573431119 Bug 1100485 - Lock chunks during double purging to avoid racing with allocation. r=glandium 2014-11-19 09:34:00 +01:00
Mike Hommey
6d15698158 Bug 818922 - Add bidirectional method calls with replace-malloc library. r=njn 2014-11-18 19:21:06 +09:00
Emanuel Hoogeveen
f287680906 Bug 1073662 - Part 7: Enable limited chunk recycling on all platforms. r=glandium 2014-11-13 22:56:00 +01:00
Emanuel Hoogeveen
3768ec5def Bug 1073662 - Part 6: Add JEMALLOC_RECYCLE, a mode that keeps a limited amount of chunks alive. r=glandium 2014-11-13 22:55:00 +01:00
Emanuel Hoogeveen
92ebf2b732 Bug 1073662 - Part 5: Hook the chunk recycle code up to JEMALLOC_MUNMAP and make it safe for use with MALLOC_DECOMMIT and MALLOC_DOUBLE_PURGE. r=glandium 2014-11-13 22:52:00 +01:00
Emanuel Hoogeveen
c6b56644de Bug 1073662 - Part 4: Import chunk recycling code from jemalloc3. r=glandium 2014-11-01 12:00:00 +01:00
Emanuel Hoogeveen
5d83aef48f Bug 1073662 - Part 3: Make all chunk-sized and larger allocations go through chunk_alloc. r=glandium 2014-09-26 13:29:00 +02:00
Emanuel Hoogeveen
8696f3a9ae Bug 1073662 - Part 2: Always use the jemalloc3 allocation logic and remove the old logic. r=glandium 2014-09-26 13:27:00 +02:00
Emanuel Hoogeveen
db1349bf19 Bug 1073662 - Part 1: Remove support for the unused MALLOC_PAGEFILE. r=glandium 2014-09-26 13:27: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
Nicholas Nethercote
ee0e0c98ea Bug 1057754 (follow-up) - Allow Valgrind + jemalloc to be combined, because it makes sense when running Cachegrind. r=me. 2014-08-25 20:38:29 -07:00