f6232176ba57ffdd3c06b201e0e7562256936c76: Bug 1370752: Part 2 - Allow fallback serializer when JSON.serialize fails. r=aswan
Kris Maglione <maglione.k@gmail.com> - Fri, 09 Jun 2017 18:19:11 -0700 - rev 368205
Push 32159 by cbook@mozilla.com at Tue, 11 Jul 2017 10:52:11 +0000
Bug 1370752: Part 2 - Allow fallback serializer when JSON.serialize fails. r=aswan Currently, we need to be able to handle serializing non-JSON-compatible objects without catastrophically failing to save the storage file. Ideally, we would ensure this in the ordinary toJSON method. However, that would require a unnecessary extra calls to JSON.stringify for each object that needs to be sanitized before returning a JSON-safe value, which is more expensive than we can afford. The fallback toJSONSafe method allows us to do this only when necessary, due to an initial failed JSON serialization. MozReview-Commit-ID: JXQ001dOGtW
903992e46e072238158b289a6bf494280e478a13: Bug 1379565 - Overhaul ProfileBuffer::StreamSamplesToJSON. r=mstange.
Nicholas Nethercote <nnethercote@mozilla.com> - Wed, 05 Jul 2017 21:29:29 +1000 - rev 368204
Push 32159 by cbook@mozilla.com at Tue, 11 Jul 2017 10:52:11 +0000
Bug 1379565 - Overhaul ProfileBuffer::StreamSamplesToJSON. r=mstange. The profiler writes ProfileBuffer entries in a particular order, and then later has to parse them, mostly in StreamSamplesToJSON(). That function's parsing code is poorly structured and rather gross, at least partly because no explicit grammar is identified. This patch identifies the grammar in a comment, and in the same comment also includes some examples of the more complicated subsequences. Once written down, the grammar is obviously suboptimal -- the |Sample| entries serve no useful purpose, for example -- but I will leave grammar improvements as follow-ups. The patch also rewrites the parser in a more typical fashion that obviously matches the grammar. The new parser is slightly more verbose but far easier to understand.
824f3b09c46f3107e1f7f657ebee98461f33e4ff: Bug 1377687 - Clear cached resources in WebRenderBridgeParent::RecvClearCachedResources() r=nical
sotaro <sotaro.ikeda.g@gmail.com> - Tue, 11 Jul 2017 09:13:15 +0900 - rev 368203
Push 32159 by cbook@mozilla.com at Tue, 11 Jul 2017 10:52:11 +0000
Bug 1377687 - Clear cached resources in WebRenderBridgeParent::RecvClearCachedResources() r=nical
63131a56d410f72a897a757ca449703d9d9989ca: Bug 1379721: Add separate AsyncShutdown blocker for embedded extension shutdown. r=rhelmer
Kris Maglione <maglione.k@gmail.com> - Mon, 10 Jul 2017 12:29:27 -0700 - rev 368202
Push 32159 by cbook@mozilla.com at Tue, 11 Jul 2017 10:52:11 +0000
Bug 1379721: Add separate AsyncShutdown blocker for embedded extension shutdown. r=rhelmer MozReview-Commit-ID: CognGxT3BGp
12383fa36e6b42ed97a5a097f2b0b754bde54962: Bug 1367896: Include script filename in crash reason. r=shu data-r=bsmedberg
Kris Maglione <maglione.k@gmail.com> - Wed, 05 Jul 2017 18:02:20 -0700 - rev 368201
Push 32159 by cbook@mozilla.com at Tue, 11 Jul 2017 10:52:11 +0000
Bug 1367896: Include script filename in crash reason. r=shu data-r=bsmedberg If the scope that we're trying to clone is actually a function script, this should give us the script URL. If it's not (presumably due to some sort of data corruption), it should give us a different crash, which should hopefully give us more information. MozReview-Commit-ID: Fppi0qt4GJP
5e2692f8a367cdd899d4a4653a5372d7123a1ec6: Backed out changeset 7b267e692c04 (bug 1379864) for assertion failure in stylo tests
Carsten "Tomcat" Book <cbook@mozilla.com> - Tue, 11 Jul 2017 09:07:53 +0200 - rev 368200
Push 32158 by cbook@mozilla.com at Tue, 11 Jul 2017 10:48:59 +0000
Backed out changeset 7b267e692c04 (bug 1379864) for assertion failure in stylo tests
0067e00809a3b588d3a724b36dad506eaea54e3f: Backed out changeset 57800baf24a3 (bug 1379864)
Carsten "Tomcat" Book <cbook@mozilla.com> - Tue, 11 Jul 2017 09:06:27 +0200 - rev 368199
Push 32158 by cbook@mozilla.com at Tue, 11 Jul 2017 10:48:59 +0000
Backed out changeset 57800baf24a3 (bug 1379864)
d65149585e2dd688fbe95c713f2128dd37e36353: Bug 1379890 - Remove unused mozjemalloc stats. r=njn
Mike Hommey <mh+mozilla@glandium.org> - Tue, 11 Jul 2017 14:42:57 +0900 - rev 368198
Push 32158 by cbook@mozilla.com at Tue, 11 Jul 2017 10:48:59 +0000
Bug 1379890 - Remove unused mozjemalloc stats. r=njn Since bug 1378258 remove malloc_print_stats, there are a bunch of allocator stats that are now unused, reducing the memory footprint of allocator metadata.
d816a7f555299b4f66b9690dbdd59c2a7afa9440: Bug 1379878 - Use C++ templates to make _malloc_message calls cleaner. r=njn
Mike Hommey <mh+mozilla@glandium.org> - Tue, 11 Jul 2017 14:15:04 +0900 - rev 368197
Push 32158 by cbook@mozilla.com at Tue, 11 Jul 2017 10:48:59 +0000
Bug 1379878 - Use C++ templates to make _malloc_message calls cleaner. r=njn
0b90c93540de031ee412f75b3ad1ff9d5f00e2a2: Bug 1379878 - Remove umax2s, its last use was removed in bug 1378258. r=njn
Mike Hommey <mh+mozilla@glandium.org> - Tue, 11 Jul 2017 14:09:09 +0900 - rev 368196
Push 32158 by cbook@mozilla.com at Tue, 11 Jul 2017 10:48:59 +0000
Bug 1379878 - Remove umax2s, its last use was removed in bug 1378258. r=njn
094ae2ae92c5fcebc8a41f4349ba82a4d95a98aa: Bug 1360772 - Allow to initialize non-zeroed arena chunks. r=njn
Mike Hommey <mh+mozilla@glandium.org> - Thu, 06 Jul 2017 17:05:23 +0900 - rev 368195
Push 32158 by cbook@mozilla.com at Tue, 11 Jul 2017 10:48:59 +0000
Bug 1360772 - Allow to initialize non-zeroed arena chunks. r=njn When initializing a new chunk for use as an arena, we started by zeroing out the chunk (if that wasn't the case) and then initializing a new arena chunk in there. It turns out this can have a noticeable overhead, especially when e.g. the new arena chunk is used for a large allocation filled out by something that is realloc()ated. OTOH, the chunk recycle code only ever keeps zeroed or arena chunks around (there is a "recycled" type too, but in practice, at the moment, this means they were arena chunks before). Arena chunks that were recycled were totally emptied, so all the runs they may contain will contain zeroed-out or poisoned data. They also contain a header, that is overwritten by the new arena chunk initialization. This means we can get away with reusing non-zeroed recycled chunks without zeroing them, as long as the arena chunk header marks the runs as madvised instead of zeroed. Code-wise, this would benefit from getting a ChunkType out of chunk_alloc, but this would require more refactoring than I'm willing to do at the moment.
9f73e5f2dc3cd7544a9c95ad65841025815242f4: Bug 1360772 - Indicate to chunk_recycle callers that pages_commit has zeroed the chunk. r=njn
Mike Hommey <mh+mozilla@glandium.org> - Thu, 06 Jul 2017 16:58:18 +0900 - rev 368194
Push 32158 by cbook@mozilla.com at Tue, 11 Jul 2017 10:48:59 +0000
Bug 1360772 - Indicate to chunk_recycle callers that pages_commit has zeroed the chunk. r=njn Before returning a chunk, chunk_recycle calls pages_commit (when MALLOC_DECOMMIT is enabled), which is guaranteed to zero the chunk. The code further zeroing the chunk afterwards, which is now moved out to chunk_alloc callers, never took advantage of that fact, duplicating the effort of zeroing the chunk on Windows. By indicating to the callers that the chunk has already been zeroed, we allow callers to skip zeroing on their own.
9c930946021994fcac8affd794d18c1dcf728bd1: Bug 1360772 - Make chunk_alloc callers handle zeroing when they need it. r=njn
Mike Hommey <mh+mozilla@glandium.org> - Thu, 06 Jul 2017 15:51:25 +0900 - rev 368193
Push 32158 by cbook@mozilla.com at Tue, 11 Jul 2017 10:48:59 +0000
Bug 1360772 - Make chunk_alloc callers handle zeroing when they need it. r=njn The current code only allows chunk_calloc() callers to tell whether they want zeroed memory or not, but some might be okay either way, assuming they act accordingly afterwards. So move the zeroing out of chunk_alloc.
bd8104b689560ca5045dd9adc7bb966d216c078b: Bug 1360772 - Store the chunk type in chunk recycling queue. r=njn
Mike Hommey <mh+mozilla@glandium.org> - Fri, 07 Jul 2017 10:16:31 +0900 - rev 368192
Push 32158 by cbook@mozilla.com at Tue, 11 Jul 2017 10:48:59 +0000
Bug 1360772 - Store the chunk type in chunk recycling queue. r=njn
3edd431c888d13a661c5d459b523bda930926a72: Bug 1360772 - Make pages_purge return whether the pages were purged. r=njn
Mike Hommey <mh+mozilla@glandium.org> - Fri, 07 Jul 2017 09:46:04 +0900 - rev 368191
Push 32158 by cbook@mozilla.com at Tue, 11 Jul 2017 10:48:59 +0000
Bug 1360772 - Make pages_purge return whether the pages were purged. r=njn Many functions in the mozjemalloc codebase like to return the opposite boolean one would tend to expect. Pages_purge is one of them, and this reverses the logic to match expectations. Also make it static.
729a49478e7a211dd919c966ea874fb78f66fb8f: Bug 1379139 - Instead of not recycling huge chunks, zero them. r=njn
Mike Hommey <mh+mozilla@glandium.org> - Mon, 10 Jul 2017 06:41:17 +0900 - rev 368190
Push 32158 by cbook@mozilla.com at Tue, 11 Jul 2017 10:48:59 +0000
Bug 1379139 - Instead of not recycling huge chunks, zero them. r=njn It turns out that not recycling some kinds of chunk can lead to the recycle queue being starved in some scenarios. When that happens, we end up mmap()ing new memory, but that turns out to be significantly slower. So instead of not recycling huge chunks, we force-clean them, before madvising so that the pages can still be reclaimed in case of memory pressure.
24674ef44c14b16906a0261841ded734eb6e1fca: Bug 1379696: Reftest. r=bholley
Emilio Cobos Álvarez <emilio@crisal.io> - Tue, 11 Jul 2017 05:37:19 +0200 - rev 368189
Push 32158 by cbook@mozilla.com at Tue, 11 Jul 2017 10:48:59 +0000
Bug 1379696: Reftest. r=bholley MozReview-Commit-ID: 2F4wlganOT
57800baf24a38eaf89be019207affc1989e235cd: Bug 1379864 - Followup fix. r=me
Cameron McCormack <cam@mcc.id.au> - Tue, 11 Jul 2017 11:33:34 +0800 - rev 368188
Push 32158 by cbook@mozilla.com at Tue, 11 Jul 2017 10:48:59 +0000
Bug 1379864 - Followup fix. r=me
aa7da1e0163a75577679c23e7f71a35134c931c8: Bug 1379404 - Part 4. Prevent unnecessary AzureState copy in GlyphBufferAzure::Flush. r=mattwoodrow
cku <cku@mozilla.com> - Sun, 09 Jul 2017 00:49:24 +0800 - rev 368187
Push 32158 by cbook@mozilla.com at Tue, 11 Jul 2017 10:48:59 +0000
Bug 1379404 - Part 4. Prevent unnecessary AzureState copy in GlyphBufferAzure::Flush. r=mattwoodrow ~AzureState is expensive, especially in GlyphBufferAzure::Flush, which is a high fan-in function. MozReview-Commit-ID: 4JfjMje0Kgs
a7e790563964fb428390e851aa5e483bc5bcc6b3: Bug 1379404 - Part 3. Prevent using gfxContext::Save/Restore in gfxTextRun. r=mattwoodrow
cku <cku@mozilla.com> - Sun, 09 Jul 2017 00:33:54 +0800 - rev 368186
Push 32158 by cbook@mozilla.com at Tue, 11 Jul 2017 10:48:59 +0000
Bug 1379404 - Part 3. Prevent using gfxContext::Save/Restore in gfxTextRun. r=mattwoodrow MozReview-Commit-ID: 5p7vAYHGhdy
(0) -300000 -100000 -30000 -10000 -3000 -1000 -300 -100 -50 -20 +20 +50 +100 +300 +1000 +3000 +10000 +30000 +100000 tip