searching for reviewer(njn)
2b9dcbd0701a: Bug 1400078 - Measure the UA cache. r=njn.
Nicholas Nethercote <nnethercote@mozilla.com> - Tue, 19 Sep 2017 09:25:00 +1000 - rev 431350
Push 7782 by ryanvm@gmail.com at 2017-09-20 11:51 +0000
Bug 1400078 - Measure the UA cache. r=njn. ServoStyleSetSizes now has two uses, one for the Stylist, and one for the UA cache, and so the patch removes 'Stylist' from the field names. Example output from about:memory: > +----1,359,608 B (00.55%) -- layout > | +----756,488 B (00.31%) -- style-sheet-cache [2] > | +----393,968 B (00.16%) -- servo-ua-cache > | | +--234,496 B (00.10%) -- element-and-pseudos-maps > | | +---59,648 B (00.02%) -- revalidation-selectors > | | +---58,320 B (00.02%) -- invalidation-map > | | +---30,752 B (00.01%) -- other > | | +---10,752 B (00.00%) -- precomputed-pseudos MozReview-Commit-ID: 8oxuJO0ojp
af468f61fe8a: Bug 1401116 - Remove jemalloc symbols from mozglue.def.in. r=njn
Mike Hommey <mh+mozilla@glandium.org> - Tue, 19 Sep 2017 16:06:29 +0900 - rev 431344
Push 7782 by ryanvm@gmail.com at 2017-09-20 11:51 +0000
Bug 1401116 - Remove jemalloc symbols from mozglue.def.in. r=njn As long as symbols have the right declspec, the linker is going to export them as expected. The main exception to when we actually need the exported symbol to have a different name, which is the case for the symbols normally exported by the CRT. So keep only those renamed symbols in mozglue.def.in. Keeping the jemalloc symbols in this file kind of implies that we need every new API entry points to appear in there when it's not true. This thus removes an unnecessary moving part when adding new allocator API entry points.
f8408a832d35: Bug 1401101 - Remove the generic replace-malloc library. r=njn
Mike Hommey <mh+mozilla@glandium.org> - Tue, 19 Sep 2017 15:58:33 +0900 - rev 431343
Push 7782 by ryanvm@gmail.com at 2017-09-20 11:51 +0000
Bug 1401101 - Remove the generic replace-malloc library. r=njn It is one of the moving parts when adding new memory allocation APIs. It was added in bug 1168719 and the only thing that actually used it was the sampling-based memory profiler, which was removed in bug 1385953. We however keep the replace-malloc bridge entry point so that something else, in the future, may still provide the feature.
7ca486b28b99: Bug 1400100 - Shrink css::ImageValue. r=njn.
Nicholas Nethercote <nnethercote@mozilla.com> - Fri, 15 Sep 2017 14:37:12 +1000 - rev 430917
Push 7775 by ryanvm@gmail.com at 2017-09-19 01:22 +0000
Bug 1400100 - Shrink css::ImageValue. r=njn. This reduces sizeof(ImageValue) from 104 to 96. When heap-allocated, this moves it from the 112 byte bin to the 96 byte bin. Loading gmail with Stylo, there are about 11,500 ImageValues on the heap, so this saves about 184,000 bytes. MozReview-Commit-ID: JLe2cJ54IlL
507703647781: Bug 1399921 - Register zone allocator independently, and delay jemalloc initialization on mac. r=njn
Mike Hommey <mh+mozilla@glandium.org> - Fri, 15 Sep 2017 07:34:48 +0900 - rev 430593
Push 7768 by ryanvm@gmail.com at 2017-09-16 16:13 +0000
Bug 1399921 - Register zone allocator independently, and delay jemalloc initialization on mac. r=njn In bug 1361258, we unified the initialization sequence on mac, and chose to make the zone registration happen after jemalloc initialization. The order between jemalloc init and zone registration shouldn't actually matter, because jemalloc initializes the first time the allocator is actually used. On the other hand, in some build setups (e.g. with light optimization), the initialization of the thread_arena thread local variable can happen after the forced jemalloc initialization because of the order the corresponding static initializers run. In some levels of optimization, the thread_arena initializer resets the value the jemalloc initialization has set, which subsequently makes choose_arena() return a bogus value (or hit an assertion in ThreadLocal.h on debug builds). So instead of initializing jemalloc from a static initializer, which then registers the zone, we instead register the zone and let jemalloc initialize itself when used, which increases the chances of the thread_arena initializer running first.
013516394a9c: Bug 1400146 - Gracefully handle the allocator not being initialized in isalloc_validate. r=njn
Mike Hommey <mh+mozilla@glandium.org> - Fri, 15 Sep 2017 15:13:52 +0900 - rev 430592
Push 7768 by ryanvm@gmail.com at 2017-09-16 16:13 +0000
Bug 1400146 - Gracefully handle the allocator not being initialized in isalloc_validate. r=njn isalloc_validate is the function behind malloc_usable_size. If for some reason malloc_usable_size is called before mozjemalloc is initialized, this can lead to an unexpected crash. The chance of this actually happening is rather slim on Linux and Windows (although still possible), and impossible on Mac, due to the fact the earlier something can end up calling it is after the mozjemalloc zone is registered, which happens after initialization. ... except with bug 1399921, which reorders that initialization, and puts the zone registration first. There's then a slim chance for the zone allocator to call into zone_size, which calls malloc_usable_size, to determine whether a pointer allocated by some other zone belongs to mozjemalloc's. And it turns out that does happen, during the startup of the plugin-container process on OSX 10.10 (but not more recent versions).
738de4c495b9: Bug 1400096 - Don't define the operator new/delete functions as mangled in mozmem_wrap.cpp. r=njn
Mike Hommey <mh+mozilla@glandium.org> - Fri, 15 Sep 2017 10:28:33 +0900 - rev 430590
Push 7768 by ryanvm@gmail.com at 2017-09-16 16:13 +0000
Bug 1400096 - Don't define the operator new/delete functions as mangled in mozmem_wrap.cpp. r=njn Now that this is a C++ file, and that the function names are not mangled, we can just use the actual C++ names. We do however need to replace MOZ_MEMORY_API, which implies extern "C", with MFBT_API. Also use the correct type for the size given to operator new. It happened to work before because the generated code would just jump to malloc without touching any register, but on aarch64, unsigned int was the wrong type.
09aa9fae6280: Bug 1400096 - Build mozmemory_wrap as C++. r=njn
Mike Hommey <mh+mozilla@glandium.org> - Fri, 15 Sep 2017 10:19:37 +0900 - rev 430589
Push 7768 by ryanvm@gmail.com at 2017-09-16 16:13 +0000
Bug 1400096 - Build mozmemory_wrap as C++. r=njn And since the build system doesn't handle transitions from foo.c to foo.cpp properly without a clobber, we work around the issue by switching to unified sources.
092857175e36: Bug 1400096 - Annotate mozmemory_wrap.c windows functions as MOZ_MEMORY_API. r=njn
Mike Hommey <mh+mozilla@glandium.org> - Fri, 15 Sep 2017 10:12:24 +0900 - rev 430588
Push 7768 by ryanvm@gmail.com at 2017-09-16 16:13 +0000
Bug 1400096 - Annotate mozmemory_wrap.c windows functions as MOZ_MEMORY_API. r=njn It happens to work because of mozglue.def, but we might as well have the right annotations (which will also make things correct when building this file to C++)
6cf651d919d1: Bug 1400096 - Remove mozmem_malloc_impl wrapping for operator methods exposed in mozmemory_wrap.c. r=njn
Mike Hommey <mh+mozilla@glandium.org> - Fri, 15 Sep 2017 09:54:01 +0900 - rev 430587
Push 7768 by ryanvm@gmail.com at 2017-09-16 16:13 +0000
Bug 1400096 - Remove mozmem_malloc_impl wrapping for operator methods exposed in mozmemory_wrap.c. r=njn This used to be necessary because those functions might be prefixed with __wrap_, and linked against with -Wl,--wrap, but that's not been the case since bug 1077366. Furthermore, mozmem_malloc_impl nowadays only does something on Windows, and those operators are only exposed on Android.
0e349b74bfc6: Bug 1399921 - Register zone allocator independently, and delay jemalloc initialization on mac. r=njn
Mike Hommey <mh+mozilla@glandium.org> - Fri, 15 Sep 2017 07:34:48 +0900 - rev 430566
Push 7768 by ryanvm@gmail.com at 2017-09-16 16:13 +0000
Bug 1399921 - Register zone allocator independently, and delay jemalloc initialization on mac. r=njn In bug 1361258, we unified the initialization sequence on mac, and chose to make the zone registration happen after jemalloc initialization. The order between jemalloc init and zone registration shouldn't actually matter, because jemalloc initializes the first time the allocator is actually used. On the other hand, in some build setups (e.g. with light optimization), the initialization of the thread_arena thread local variable can happen after the forced jemalloc initialization because of the order the corresponding static initializers run. In some levels of optimization, the thread_arena initializer resets the value the jemalloc initialization has set, which subsequently makes choose_arena() return a bogus value (or hit an assertion in ThreadLocal.h on debug builds). So instead of initializing jemalloc from a static initializer, which then registers the zone, we instead register the zone and let jemalloc initialize itself when used, which increases the chances of the thread_arena initializer running first.
849f008bce82: Bug 1400063 - Automatically declare jemalloc_* functions in mozmemory.h. r=njn
Mike Hommey <mh+mozilla@glandium.org> - Thu, 14 Sep 2017 18:28:12 +0900 - rev 430555
Push 7768 by ryanvm@gmail.com at 2017-09-16 16:13 +0000
Bug 1400063 - Automatically declare jemalloc_* functions in mozmemory.h. r=njn There is a lot of churn involved in adding new API surface to mozjemalloc, and mozmemory.h is one. Instead of declaring everything manually in there, "generate" the declarations through malloc_decls.h.
d9efe6d06931: Bug 1397101 - Only use a thread local arena for small sizes. r=njn
Mike Hommey <mh+mozilla@glandium.org> - Thu, 14 Sep 2017 07:36:39 +0900 - rev 430289
Push 7761 by jlund@mozilla.com at 2017-09-15 00:19 +0000
Bug 1397101 - Only use a thread local arena for small sizes. r=njn The bin-unused count in memory reports indicates how much memory is used by runs of small and sub-page allocations that is not actually allocated. This is generally thought as an indicator of fragmentation. While this is generally true, with the use of thread local arenas by stylo, combined with how stylo allocates memory, it ends up also being an indicator of wasted memory. For instance, over the lifetime of an AWSY iteration, there are only a few allocations that ends up in the bucket for 2048 allocated bytes. In the "worst" case, there's only one. But the run size for such allocations is 132KiB. Which means just because we're allocating one buffer of size between 1024 and 2048 bytes, we end up wasting 130+KiB. Per thread. Something similar happens with size classes of 512 and 1024, where the run size is respectively 32KiB and 64KiB, and where there's at most a handful of allocations of each class ever happening per thread. Overall, an allocation log from a full AWSY iteration reveals that there are only 448 of 860700 allocations happening on the stylo arenas that involve sizes above (and excluding) 512 bytes, so 0.05%. While there are improvements that can be done to mozjemalloc so that it doesn't waste more than one page per sub-page size class, they are changes that are too low-level to land at this time of the release cycle. However, considering the numbers above and the fact that the stylo arenas are only really meant to avoid lock contention during the heavy parallel work involved, a short term, low risk, strategy is to just delegate all sub-page (> 512, < 4096) and large (>= 4096) to the main arena. Technically speaking, only sub-page allocations are causing this waste, but it's more consistent to just delegate everything above 512 bytes. This should save 132KiB + 64KiB = 196KiB per stylo thread.
60f6c4563645: Bug 1397101 - Reduce the number of dirty pages we allow to be kept in thread local arenas. r=njn
Mike Hommey <mh+mozilla@glandium.org> - Thu, 14 Sep 2017 07:26:30 +0900 - rev 430288
Push 7761 by jlund@mozilla.com at 2017-09-15 00:19 +0000
Bug 1397101 - Reduce the number of dirty pages we allow to be kept in thread local arenas. r=njn Until bug 1361258, there was only ever one mozjemalloc arena, and the number of dirty pages we allow to be kept dirty, fixed to 1MB per arena, was, in fact, 1MB for an entire process. With stylo using thread local arenas, we now can have multiple arenas per process, multiplying that number of dirty pages. While those dirty pages may be reused later on, when other allocations end up filling them later on, the fact that a relatively large number of them is kept around for each stylo thread (in proportion to the amount of memory ever allocated by stylo), combined with the fact that the memory use from stylo depends on the workload generated by the pages being visited, those dirty pages may very well not be used for a rather long time. This is less of a problem with the main arena, used for most everything else. So, for each arena except the main one, we decrease the number of dirty pages we allow to be kept around to 1/8 of the current value. We do this by introducing a per-arena configuration of that maximum number.
0eb129729d90: Bug 1399031 - Use mozilla/ThreadLocal.h in mozjemalloc. r=njn
Mike Hommey <mh+mozilla@glandium.org> - Tue, 12 Sep 2017 16:29:11 +0900 - rev 430259
Push 7761 by jlund@mozilla.com at 2017-09-15 00:19 +0000
Bug 1399031 - Use mozilla/ThreadLocal.h in mozjemalloc. r=njn
3025f5550677: Bug 1399031 - Remove the setting of NO_TLS when PIC is not defined in mozjemalloc: it's always defined. r=njn
Mike Hommey <mh+mozilla@glandium.org> - Tue, 12 Sep 2017 16:06:56 +0900 - rev 430258
Push 7761 by jlund@mozilla.com at 2017-09-15 00:19 +0000
Bug 1399031 - Remove the setting of NO_TLS when PIC is not defined in mozjemalloc: it's always defined. r=njn But it's also useless besides that test, so remove the PIC define.
a2874ca1233d: Bug 1399350 - Remove jemalloc_*_impl macros. r=njn
Mike Hommey <mh+mozilla@glandium.org> - Wed, 13 Sep 2017 14:25:21 +0900 - rev 430031
Push 7761 by jlund@mozilla.com at 2017-09-15 00:19 +0000
Bug 1399350 - Remove jemalloc_*_impl macros. r=njn Those macros are one more thing that needs to be added when the mozjemalloc API surface is increased, but after bug 1399350, nothing actually needs them, so remove them.
77650b2c2812: Bug 1398965 - Fold memory/mozjemalloc into memory/build. r=njn
Mike Hommey <mh+mozilla@glandium.org> - Thu, 31 Aug 2017 16:43:19 +0900 - rev 429683
Push 7761 by jlund@mozilla.com at 2017-09-15 00:19 +0000
Bug 1398965 - Fold memory/mozjemalloc into memory/build. r=njn The files relevant to the memory allocator are currently spread between memory/mozjemalloc and memory/build, and the distinction was historically from sharing some Mozilla-specific things between mozjemalloc and jemalloc3. That distinction is not useful anymore, so we fold everything together. As we will likely rename the allocator at some point in the future, it is preferable to move away from the mozjemalloc directory rather than in its direction.
7da983d68889: Bug 1398965 - Remove MOZ_JEMALLOC_IMPL in favor of MOZ_MEMORY_IMPL. r=njn
Mike Hommey <mh+mozilla@glandium.org> - Thu, 31 Aug 2017 16:28:07 +0900 - rev 429682
Push 7761 by jlund@mozilla.com at 2017-09-15 00:19 +0000
Bug 1398965 - Remove MOZ_JEMALLOC_IMPL in favor of MOZ_MEMORY_IMPL. r=njn In practice, they mean the same thing, and there's only one place where MOZ_JEMALLOC_IMPL was used.
f0fdf712c724: Bug 1397813. Make sure to memory-report the ServoStyleContexts for anon boxes and lazy pseudos that we cache on the parent ServoStyleContext. r=njn
Boris Zbarsky <bzbarsky@mit.edu> - Sat, 09 Sep 2017 04:11:40 -0400 - rev 429405
Push 7761 by jlund@mozilla.com at 2017-09-15 00:19 +0000
Bug 1397813. Make sure to memory-report the ServoStyleContexts for anon boxes and lazy pseudos that we cache on the parent ServoStyleContext. r=njn
d59f7e89c088: Bug 1398357: Part 2 - Assert that Preferences methods observer/callback args are never null. r=njn
Kris Maglione <maglione.k@gmail.com> - Fri, 08 Sep 2017 14:36:54 -0700 - rev 429380
Push 7761 by jlund@mozilla.com at 2017-09-15 00:19 +0000
Bug 1398357: Part 2 - Assert that Preferences methods observer/callback args are never null. r=njn MozReview-Commit-ID: 10vbA1OnDC0
d212f4ad3166: Bug 1398033 - Free dirty pages on memory pressure. r=njn
Mike Hommey <mh+mozilla@glandium.org> - Fri, 08 Sep 2017 14:50:42 +0900 - rev 429166
Push 7761 by jlund@mozilla.com at 2017-09-15 00:19 +0000
Bug 1398033 - Free dirty pages on memory pressure. r=njn Free dirty pages appear as "page-cache" in about:memory reports, but when minimizing memory, and more generally, on memory pressure, they're currently not force-free()ed on desktop, while they are on mobile. There doesn't seem to be much reason not to do it on desktop as well, and it should help reduce the noise in "explicit" allocations measurements on CI, too.
9115364cd4aa: Bug 1393230 - Part 3: Convert the xpcom string classes to be templated on char type. r=njn, r=fitzgen, r=sfink
Eric Rahm <erahm@mozilla.com> - Mon, 14 Aug 2017 14:22:50 -0700 - rev 429044
Push 7761 by jlund@mozilla.com at 2017-09-15 00:19 +0000
Bug 1393230 - Part 3: Convert the xpcom string classes to be templated on char type. r=njn, r=fitzgen, r=sfink This removes the double-include macro hackery that we use to define two separate string types (nsAString and nsACString) in favor of a templated solution. Annotations for Valgrind and the JS hazard analysis are updated as well as the rust binding generations for string code.
f762f605dd83: Bug 1393230 - Part 2: Fix more improper string usages. r=njn
Eric Rahm <erahm@mozilla.com> - Thu, 31 Aug 2017 15:52:30 -0700 - rev 429043
Push 7761 by jlund@mozilla.com at 2017-09-15 00:19 +0000
Bug 1393230 - Part 2: Fix more improper string usages. r=njn This fixes improper usages of Find where an offset was actually being use for the boolean ignore case flag. It also fixes a few instances of passing in a literal wchar_t to our functions where a NS_LITERAL_STRING or char16_t should be used instead.
c366bfc13e86: Bug 1393230 - Part 1: Remove remaining string forward declarations. r=njn
Eric Rahm <erahm@mozilla.com> - Wed, 23 Aug 2017 16:27:16 -0700 - rev 429042
Push 7761 by jlund@mozilla.com at 2017-09-15 00:19 +0000
Bug 1393230 - Part 1: Remove remaining string forward declarations. r=njn
7f1714325cb3: Bug 1396892 - turn off -Wtautological-pointer-compare in memory/build/ for Android; r=njn
Nathan Froyd <froydnj@mozilla.com> - Thu, 07 Sep 2017 08:20:12 -0400 - rev 429020
Push 7761 by jlund@mozilla.com at 2017-09-15 00:19 +0000
Bug 1396892 - turn off -Wtautological-pointer-compare in memory/build/ for Android; r=njn clang warns about this code in mozmemory_wrap.c in the reimplementation of vasprintf, complaining that `fmt` cannot be null: if (str == NULL || fmt == NULL) { ^~~ ~~~~ clang is apparently exploiting knowledge about the requirements of vasprintf here, but defensive programming on the part of our reimplementation seems like the wiser course. Let's turn off the warning.
8b18f545fd6f: Bug 1393230 - Part 3: Convert the xpcom string classes to be templated on char type. r=njn, r=fitzgen, r=sfink
Eric Rahm <erahm@mozilla.com> - Mon, 14 Aug 2017 14:22:50 -0700 - rev 428973
Push 7761 by jlund@mozilla.com at 2017-09-15 00:19 +0000
Bug 1393230 - Part 3: Convert the xpcom string classes to be templated on char type. r=njn, r=fitzgen, r=sfink This removes the double-include macro hackery that we use to define two separate string types (nsAString and nsACString) in favor of a templated solution. Annotations for Valgrind and the JS hazard analysis are updated as well as the rust binding generations for string code.
a1bcb487ffec: Bug 1393230 - Part 2: Fix more improper string usages. r=njn
Eric Rahm <erahm@mozilla.com> - Thu, 31 Aug 2017 15:52:30 -0700 - rev 428972
Push 7761 by jlund@mozilla.com at 2017-09-15 00:19 +0000
Bug 1393230 - Part 2: Fix more improper string usages. r=njn This fixes improper usages of Find where an offset was actually being use for the boolean ignore case flag. It also fixes a few instances of passing in a literal wchar_t to our functions where a NS_LITERAL_STRING or char16_t should be used instead.
ac28b19fc283: Bug 1393230 - Part 1: Remove remaining string forward declarations. r=njn
Eric Rahm <erahm@mozilla.com> - Wed, 23 Aug 2017 16:27:16 -0700 - rev 428971
Push 7761 by jlund@mozilla.com at 2017-09-15 00:19 +0000
Bug 1393230 - Part 1: Remove remaining string forward declarations. r=njn
dce4d03cf87a: Bug 1376038 - Part 3: Combine ghost window reporter with window reporter. r=njn
Eric Rahm <erahm@mozilla.com> - Wed, 06 Sep 2017 16:06:58 -0700 - rev 428892
Push 7761 by jlund@mozilla.com at 2017-09-15 00:19 +0000
Bug 1376038 - Part 3: Combine ghost window reporter with window reporter. r=njn This combines the GhostWindowsReporter with the nsWindowMemoryReporter. It has the benefit of removing a reporter of a single value and also guarantees that we use the latests ghost windows value that is calculated in |nsWindowMemoryReporter::CollectReports| rather than a possibly cached value from a previous run.
9638b85c3590: Bug 1396681 - Remove some typedefs in mozjemalloc. r=njn
Mike Hommey <mh+mozilla@glandium.org> - Sat, 02 Sep 2017 08:15:39 +0900 - rev 428298
Push 7761 by jlund@mozilla.com at 2017-09-15 00:19 +0000
Bug 1396681 - Remove some typedefs in mozjemalloc. r=njn Previously being a C codebase, mozjemalloc was using typedefs, avoiding long "struct foo" uses. C++ doesn't need typedefs to achieve that, so we can remove all that. We however keep a few typedefs in headers that are still included from other C source files.
488a3f27fb35: Bug 1396361 - Avoid crashing when some system library calls malloc_zone_free(zone, NULL). r=njn
Mike Hommey <mh+mozilla@glandium.org> - Mon, 04 Sep 2017 07:32:42 +0900 - rev 428188
Push 7761 by jlund@mozilla.com at 2017-09-15 00:19 +0000
Bug 1396361 - Avoid crashing when some system library calls malloc_zone_free(zone, NULL). r=njn Some system libraries call malloc_zone_free directly instead of free, and sometimes they do that with the wrong zone. When that happens, we circle back, trying to find the right zone, and call malloc_zone_free with the right one, but when we can't find one, we crash, which matches what the system free() would do. Except in one case where the pointer we're being passed is NULL, in which case we can't trace it back to any zone, but shouldn't crash (system free() explicitly doesn't crash in that case).
e88120f2f0dc: Bug 1395776 - Make _recalloc, _expand and _msize go through replace-malloc when enabled. r=njn
Mike Hommey <mh+mozilla@glandium.org> - Thu, 31 Aug 2017 14:17:49 +0900 - rev 427860
Push 7761 by jlund@mozilla.com at 2017-09-15 00:19 +0000
Bug 1395776 - Make _recalloc, _expand and _msize go through replace-malloc when enabled. r=njn
59ebc7093c39: Bug 1395776 - Share the posix_memalign, aligned_alloc and valloc implementations between mozjemalloc and replace-malloc. r=njn
Mike Hommey <mh+mozilla@glandium.org> - Thu, 31 Aug 2017 14:17:19 +0900 - rev 427859
Push 7761 by jlund@mozilla.com at 2017-09-15 00:19 +0000
Bug 1395776 - Share the posix_memalign, aligned_alloc and valloc implementations between mozjemalloc and replace-malloc. r=njn
cce866682b2c: Bug 1395776 - Fold replace-malloc into mozjemalloc. r=njn
Mike Hommey <mh+mozilla@glandium.org> - Thu, 31 Aug 2017 12:02:01 +0900 - rev 427858
Push 7761 by jlund@mozilla.com at 2017-09-15 00:19 +0000
Bug 1395776 - Fold replace-malloc into mozjemalloc. r=njn Add the MPL 2.0 license header per bug 1395449.
91571e2385a4: Bug 1395776 - Remove useless goto. r=njn
Mike Hommey <mh+mozilla@glandium.org> - Thu, 31 Aug 2017 11:47:22 +0900 - rev 427857
Push 7761 by jlund@mozilla.com at 2017-09-15 00:19 +0000
Bug 1395776 - Remove useless goto. r=njn
20c694d0dba9: Bug 1395776 - Add a level of indirection on top of mozjemalloc. r=njn
Mike Hommey <mh+mozilla@glandium.org> - Thu, 31 Aug 2017 10:29:11 +0900 - rev 427856
Push 7761 by jlund@mozilla.com at 2017-09-15 00:19 +0000
Bug 1395776 - Add a level of indirection on top of mozjemalloc. r=njn Practically speaking, with code inlining, this doesn't change anything, but will allow, in a subsequent change, to easily divert the exported allocation functions (malloc, etc.) in order to inject replace-malloc in the pipeline. The added macro magic is copied from replace-malloc.c. At the same time, reformat the functions we're touching.
49cec367d3ca: Bug 1395776 - Move usable_ptr_t definition to mozjemalloc_types.h. r=njn
Mike Hommey <mh+mozilla@glandium.org> - Thu, 31 Aug 2017 09:51:23 +0900 - rev 427855
Push 7761 by jlund@mozilla.com at 2017-09-15 00:19 +0000
Bug 1395776 - Move usable_ptr_t definition to mozjemalloc_types.h. r=njn Because malloc_decls.h is meant to be included multiple times, it shouldn't actually declare things itself.
12b9309d675c: Bug 1395776 - Uniformize valloc implementations in replace-malloc and mozjemalloc. r=njn
Mike Hommey <mh+mozilla@glandium.org> - Thu, 31 Aug 2017 11:36:09 +0900 - rev 427854
Push 7761 by jlund@mozilla.com at 2017-09-15 00:19 +0000
Bug 1395776 - Uniformize valloc implementations in replace-malloc and mozjemalloc. r=njn valloc is supposed to page-align data, but mozjemalloc's definition of pagesize is statically compiled in and might not match the actual page size at runtime (because of MALLOC_STATIC_SIZES). We change valloc in mozjemalloc to use the runtime page size.
6c647268fcad: Bug 1395776 - Uniformize posix_memalign implementations in replace-malloc and mozjemalloc. r=njn
Mike Hommey <mh+mozilla@glandium.org> - Thu, 31 Aug 2017 11:35:24 +0900 - rev 427853
Push 7761 by jlund@mozilla.com at 2017-09-15 00:19 +0000
Bug 1395776 - Uniformize posix_memalign implementations in replace-malloc and mozjemalloc. r=njn
3f011ef04279: Bug 1395524 - Use AppendFloat when converting the float interval to the env var string. r=njn
Markus Stange <mstange@themasta.com> - Thu, 31 Aug 2017 13:36:44 +0200 - rev 427662
Push 7761 by jlund@mozilla.com at 2017-09-15 00:19 +0000
Bug 1395524 - Use AppendFloat when converting the float interval to the env var string. r=njn MozReview-Commit-ID: GsW9W3aJZTg
28d54da51af5: Bug 1395524 - Add profiler log messages for invalid startup profiling env vars. r=njn
Markus Stange <mstange@themasta.com> - Thu, 31 Aug 2017 13:34:51 +0200 - rev 427661
Push 7761 by jlund@mozilla.com at 2017-09-15 00:19 +0000
Bug 1395524 - Add profiler log messages for invalid startup profiling env vars. r=njn MozReview-Commit-ID: ipWVT6Jh3j
8768af9e5e42: Bug 1393046 - Enable JS sampling on the main thread as soon as possible after the profiler has started. r=njn
Markus Stange <mstange@themasta.com> - Tue, 29 Aug 2017 19:13:57 +0200 - rev 427436
Push 7761 by jlund@mozilla.com at 2017-09-15 00:19 +0000
Bug 1393046 - Enable JS sampling on the main thread as soon as possible after the profiler has started. r=njn MozReview-Commit-ID: CIj3GGI3TQo
25e63f4eac0a: Bug 1395070 - Remove the MOZ_MEMORY_$platform defines. r=njn
Mike Hommey <mh+mozilla@glandium.org> - Wed, 30 Aug 2017 17:01:30 +0900 - rev 427360
Push 7761 by jlund@mozilla.com at 2017-09-15 00:19 +0000
Bug 1395070 - Remove the MOZ_MEMORY_$platform defines. r=njn
ff74f5680afb: Bug 1395070 - Replace MOZ_MEMORY_BSD with __FreeBSD_kernel__. r=njn
Mike Hommey <mh+mozilla@glandium.org> - Wed, 30 Aug 2017 16:58:42 +0900 - rev 427359
Push 7761 by jlund@mozilla.com at 2017-09-15 00:19 +0000
Bug 1395070 - Replace MOZ_MEMORY_BSD with __FreeBSD_kernel__. r=njn While MOZ_MEMORY_BSD is set for kFreeBSD, FreeBSD and NetBSD, the only use of MOZ_MEMORY_BSD is along a check for __GLIBC__ which can only be true on GNU/kFreeBSD, which doesn't have a XP_ macro, but which we usually match with __FreeBSD_kernel__.
9fe5f0c7cc15: Bug 1395070 - Replace MOZ_MEMORY_SOLARIS with XP_SOLARIS. r=njn
Mike Hommey <mh+mozilla@glandium.org> - Wed, 30 Aug 2017 16:57:46 +0900 - rev 427358
Push 7761 by jlund@mozilla.com at 2017-09-15 00:19 +0000
Bug 1395070 - Replace MOZ_MEMORY_SOLARIS with XP_SOLARIS. r=njn
1db8b992e6c8: Bug 1395070 - Replace MOZ_MEMORY_ANDROID with ANDROID. r=njn
Mike Hommey <mh+mozilla@glandium.org> - Wed, 30 Aug 2017 16:56:42 +0900 - rev 427357
Push 7761 by jlund@mozilla.com at 2017-09-15 00:19 +0000
Bug 1395070 - Replace MOZ_MEMORY_ANDROID with ANDROID. r=njn For some reason, we don't have a XP_ macro for Android, and we generally use ANDROID or MOZ_WIDGET_ANDROID. The former is more appropriate.
a49266235c5a: Bug 1395070 - Replace MOZ_MEMORY_LINUX with XP_LINUX. r=njn
Mike Hommey <mh+mozilla@glandium.org> - Wed, 30 Aug 2017 16:55:30 +0900 - rev 427356
Push 7761 by jlund@mozilla.com at 2017-09-15 00:19 +0000
Bug 1395070 - Replace MOZ_MEMORY_LINUX with XP_LINUX. r=njn
7fd1d73cc14d: Bug 1395070 - Replace MOZ_MEMORY_DARWIN with XP_DARWIN. r=njn
Mike Hommey <mh+mozilla@glandium.org> - Wed, 30 Aug 2017 16:54:17 +0900 - rev 427355
Push 7761 by jlund@mozilla.com at 2017-09-15 00:19 +0000
Bug 1395070 - Replace MOZ_MEMORY_DARWIN with XP_DARWIN. r=njn
f9003b81aa3d: Bug 1395070 - Replace MOZ_MEMORY_WINDOWS with XP_WIN. r=njn
Mike Hommey <mh+mozilla@glandium.org> - Wed, 30 Aug 2017 16:53:10 +0900 - rev 427354
Push 7761 by jlund@mozilla.com at 2017-09-15 00:19 +0000
Bug 1395070 - Replace MOZ_MEMORY_WINDOWS with XP_WIN. r=njn