gecko-dev/tools
Gerald Squelart 16dbd4f365 Bug 1582992 - Removed unneded BlocksRingBuffer's entry destructor, and ProfilerBuffer's JS::AutoSuppressGCAnalysis - r=gregtatum
`BlocksRingBuffer` had an "entry destructor" to make it a more generic
container, and it was useful during early prototyping of the new profiler
storage (so that we could store owning pointers).
But this entry destructor is stored in an `std::function`, which gets marked as
a potential GC caller by the js rooting hazard analyzer; and as this bug found,
it's not obvious where to place `JS::AutoSuppressGCAnalysis`, because profiler
entries (including stacks) could be added on one thread while GC happens
elsewhere, which triggers the embedded `AutoAssertNoGC` check.

Since we don't actually use the entry destructor facility in the profiler, it's
easier to just get rid of it. As a bonus, it's a small optimization.
Tests that were using an entry destructor now use the `State` instead, to verify
that entries are pushed and cleared as expected.

If needed in the future outside of the profiler, `BlocksRingBuffer` could again
include an entry destructor, but it would have to be through templating, so that
the class used in the profiler wouldn't contain an `std::function`.

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

--HG--
extra : moz-landing-system : lando
2019-09-23 20:50:20 +00:00
..
bloatview
browsertime Bug 1577922 - Bump browsertime hash to c795660ef1e589dfb8bf01397782811934c90696. r=sefeng 2019-08-31 01:35:40 +00:00
clang-tidy Bug 1577726 - Ride along: Remove third_party from the clang tidy configuration as it isn't used r=andi 2019-09-05 13:52:22 +00:00
code-coverage Bug 1578730 - Add js::GetCodeCovergeSummaryAll API. r=nbp,marco 2019-09-19 00:08:39 +00:00
compare-locales
coverity Bug 1581846 - mark some Coverity checkers as disabled since their results yiled to be false-positive. r=bastien 2019-09-19 03:57:34 +00:00
crashreporter Bug 1547143 - Format the tree: Be prescriptive with the pointer style (left) r=Ehsan 2019-05-01 08:47:10 +00:00
docs Bug 1574609 - Fix telemetry/telemetry path component in firefox-source-docs. r=ahal 2019-08-30 12:44:02 +00:00
fuzzing Bug 1581158 - Add fuzzing target for rkv r=froydnj 2019-09-20 21:27:35 +00:00
infer Bug 1576659 - Update infer to 0.17.0. r=bastien 2019-09-13 14:25:32 +00:00
jprof Bug 1559975 - fix python2 linter error for tools/jprof/split-profile.py r=ahal 2019-07-16 17:47:33 +00:00
leak-gauge Bug 1546501 - Remove unnecessary type attributes (i.e. [type="application/javascript"]) on non-test script tags r=mossop 2019-04-24 19:43:57 +00:00
lint Bug 1554657 - Add a verbose mode to |mach lint| to display log output r=ahal 2019-09-23 13:19:25 +00:00
performance Bug 1553254 - Part 1: Allow low-overhead selective collection of internal performance probes through ChromeUtils. r=brennie,nika 2019-05-21 21:01:31 +02:00
power Bug 1559975 - Make directories python3 compatible r=catlee 2019-07-02 15:47:34 +00:00
profiler Bug 1582992 - Removed unneded BlocksRingBuffer's entry destructor, and ProfilerBuffer's JS::AutoSuppressGCAnalysis - r=gregtatum 2019-09-23 20:50:20 +00:00
quitter Bug 1562642 - Part 4 - Add missing MPL2 headers in tools r=ahal 2019-07-10 19:12:07 +00:00
rb
rewriting Bug 1579506 - Remove OpenAES source code and references r=bryce,mhoye 2019-09-12 23:27:08 +00:00
tryselect Bug 1576812 - [tryselect] Re-order header shortcuts in an order that makes more sense (given they don't all fit), r=iain 2019-09-17 18:56:25 +00:00
update-packaging Bug 1458385: Package mar and mbsdiff as a toolchain; r=glandium 2019-07-11 16:40:13 +00:00
update-verify Bug 1577634 - suppress warnings about comment changes in channel-prefs.js, r=bhearsum 2019-09-04 21:01:28 +00:00
vcs Bug 1561723 - Add debugger to whitelist for import-pr usage r=kvark 2019-07-19 14:18:56 +00:00
mach_commands.py Bug 1574977: restore mach pastebin and port to new service r=nalexander 2019-08-22 18:11:26 +00:00
moz.build Bug 1569704 - Update tools/tryselect bug component metadata, r=glob 2019-07-30 06:31:49 +00:00