99a32740c0588f68bc391a3ae24fe478782134ac: Bug 1414150 - Remove the "memory.low_*" prefs. r=erahm,dmajor.
Nicholas Nethercote <nnethercote@mozilla.com> - Wed, 08 Nov 2017 07:49:46 +1100 - rev 441505
Push 8130 by ryanvm@gmail.com at Thu, 09 Nov 2017 00:28:20 +0000
Bug 1414150 - Remove the "memory.low_*" prefs. r=erahm,dmajor. There's no good reason why these should't just be constants. The patch also appends "MiB" to some of the C++ values to make their meaning clearer. This patch fixes one outright bug, and one inconsistency. The bug is due to a prefname mismatch: - ContentPrefs.cpp and AvailableMemoryTracker.cpp use "memory.low_virtual_mem_threshold_mb". - all.js uses "memory.low_virtual_memory_threshold_mb". Which means that "memory.low_virtual_memory_threshold_mb" showed up in about:config, but if you changed it nothing would happen because the callback listened for changes to to "memory.low_virtual_mem_threshold_mb"! Now for the inconsistency. The above means we actually use a value of 256 for the virtual memory threshold, even though all.js says 128. But we *do* use a value of 128 for the commit space threshold, because that's what all.js says and that prefname is used correctly everywhere. The patch changes the commit space threshold to 256 for consistency with the virtual memory threshold. What a mess!
b84d87e9fa100abe4f3aa073d2e169d3392d9b4c: Bug 1414150 - Remove the "memory.free_dirty_pages" pref. r=glandium.
Nicholas Nethercote <nnethercote@mozilla.com> - Tue, 07 Nov 2017 19:34:18 +1100 - rev 441504
Push 8130 by ryanvm@gmail.com at Thu, 09 Nov 2017 00:28:20 +0000
Bug 1414150 - Remove the "memory.free_dirty_pages" pref. r=glandium. This was originally added for b2g, where the pref had a different value. Bug 1398033 enabled it everywhere.
13ec107f211922aec40d4993eef12690c54a0c36: Bug 1415103 - Remove dead code in crash reporting. r=gsvelto
Cervantes Yu <cyu@mozilla.com> - Wed, 08 Nov 2017 11:49:37 +0800 - rev 441503
Push 8130 by ryanvm@gmail.com at Thu, 09 Nov 2017 00:28:20 +0000
Bug 1415103 - Remove dead code in crash reporting. r=gsvelto This removes dead code using headlessClient and lastRunCrashID in crash reporting. headlessClient is unconditional now. nsIXULRuntime.lastRunCrashID is not used anymore so remove code for implementing it. MozReview-Commit-ID: AU4bUeIx3O0
c0e806b7a992dc9e8f608df3e6380bce574eb791: Bug 1409904 - Convert error! logging to warn! to avoid spurious stderr spamming from audioipc. r=kamidphish
Matthew Gregan <kinetik@flim.org> - Wed, 08 Nov 2017 16:20:48 +1300 - rev 441502
Push 8130 by ryanvm@gmail.com at Thu, 09 Nov 2017 00:28:20 +0000
Bug 1409904 - Convert error! logging to warn! to avoid spurious stderr spamming from audioipc. r=kamidphish
574db20bdf3e8b013b3575fc154621213a6aa8a6: Bug 1414397 - Make sure we properly invalidate the entire frame subtree when detecting a caret frame change. r=miko
Matt Woodrow <mwoodrow@mozilla.com> - Wed, 08 Nov 2017 15:33:34 +1300 - rev 441501
Push 8130 by ryanvm@gmail.com at Thu, 09 Nov 2017 00:28:20 +0000
Bug 1414397 - Make sure we properly invalidate the entire frame subtree when detecting a caret frame change. r=miko
7c87b438511359c8792273d261d3bed546c9b530: Bug 1412110 - Make sure we build a wrap list for the caret frame, since it will have multiple display items. r=miko
Matt Woodrow <mwoodrow@mozilla.com> - Wed, 08 Nov 2017 15:32:27 +1300 - rev 441500
Push 8130 by ryanvm@gmail.com at Thu, 09 Nov 2017 00:28:20 +0000
Bug 1412110 - Make sure we build a wrap list for the caret frame, since it will have multiple display items. r=miko
8bd69298b447dc9c5cb11a77f0d14afdb8f9a990: Bug 1413833 - Don't use WeakFrame for the modified frame list since get slow with large numbers of frames. r=miko
Matt Woodrow <mwoodrow@mozilla.com> - Wed, 08 Nov 2017 15:25:44 +1300 - rev 441499
Push 8130 by ryanvm@gmail.com at Thu, 09 Nov 2017 00:28:20 +0000
Bug 1413833 - Don't use WeakFrame for the modified frame list since get slow with large numbers of frames. r=miko
e05d3e232865dbb2533966879f50db54daa7340e: Bug 1413833 - Cap the number of modified frames that we track to avoid the overhead getting too large. r=miko
Matt Woodrow <mwoodrow@mozilla.com> - Wed, 08 Nov 2017 15:23:34 +1300 - rev 441498
Push 8130 by ryanvm@gmail.com at Thu, 09 Nov 2017 00:28:20 +0000
Bug 1413833 - Cap the number of modified frames that we track to avoid the overhead getting too large. r=miko
891b6831d29bdfc80fc14434185bfd7c975e45dd: Bug 1414188 - Remove ValueObserver. r=glandium.
Nicholas Nethercote <nnethercote@mozilla.com> - Thu, 02 Nov 2017 20:38:34 +1100 - rev 441497
Push 8130 by ryanvm@gmail.com at Thu, 09 Nov 2017 00:28:20 +0000
Bug 1414188 - Remove ValueObserver. r=glandium. libpref has callbacks. You can register a callback function against a particular pref (or pref prefix), and it'll be called when any matching pref changes. This is implemented in two layers. The lower layer is the list of CallbackNode objects, pointed to by gFirstCallback. The upper layer involves gObserverTable, which is a hash table of ValueObserver objects. It is used for callbacks registered via Preferences::RegisterCallback() and Preferences::Add*VarCache(), but not for observers registered with Preferences::Add{Weak,Strong}Observer(). If multiple callbacks with identical prefnames, callback functions and MatchKinds occur, they are commoned up into a single ValueObserver, which is then wrapped by a single CallbackNode. (The callbacks within a single ValueObserver can have different void* aClosure args; ValueObserver keeps those in an nsTArray.) Note also that gObserverTable is very inelegant, with duplication of data between the keys and the values due it being a nsRefPtrHashtable<ValueObserverHashKey, ValueObserver> and ValueObserver being a subclass of ValueObserverHashKey(!) This extra layer might make sense if there were a lot of commoning up happening, but there's not. Across all process kinds there is an average of between 1.2 and 1.7 closures per ValueObserver. The vast majority have 1 closure, and there are a handful that have multiple; the highest number I've seen is 71. (Note that this two-layer design probably seemed more natural back when libpref was spread across multiple files.) This patch removes the ValueObserver layer. The only tricky part is that there is a notion of a MatchKind -- ExactMatch or PrefixMatch -- which exists in the ValueObserverLayer but not in the CallbackNode layer. So the patch moves the MatchKind into the CallbackNode layer, which is straightforward. On Linux64 this reduces memory usage by about 40 KiB in the parent process and about 30 KiB in each content processes. The performance implications are minor. - The list of CallbackNodes is a bit longer, so when a pref is changed we must check more nodes. But we avoid possibly doing prefname matching twice. - Callback registration is much faster, just a simple list prepend, without any hash table insertion required. - Callback unregistration is probably not much different. There is a longer list to traverse, but no hash table removal. - Pref lookup is by far the hottest libpref operation, and it's unchanged. For perf to be genuinely affected would require (a) a *lot* more almost-duplicate callbacks that would have been commoned up, and (b) frequent changing of the pref those callbacks are observing. This seems highly unlikely. MozReview-Commit-ID: 6xo4xmytOf3
3e95c596ad5bc0c0b99608ed26380994973e7665: Bug 1415397 - use Span<> to replace low level pointer arithmetic in ReadFromCache(). r=bechen,gerald
JW Wang <jwwang@mozilla.com> - Thu, 02 Nov 2017 11:36:56 +0800 - rev 441496
Push 8130 by ryanvm@gmail.com at Thu, 09 Nov 2017 00:28:20 +0000
Bug 1415397 - use Span<> to replace low level pointer arithmetic in ReadFromCache(). r=bechen,gerald MozReview-Commit-ID: HH6KXtMfSIJ
20d4b128753bf57a03d56e4b73e7c96049e875b5: servo: Merge #19139 - style: Get rid of parse_specified (from emilio:bye-parse-specified); r=jdm
Emilio Cobos Álvarez <emilio@crisal.io> - Tue, 07 Nov 2017 23:44:17 -0600 - rev 441495
Push 8130 by ryanvm@gmail.com at Thu, 09 Nov 2017 00:28:20 +0000
servo: Merge #19139 - style: Get rid of parse_specified (from emilio:bye-parse-specified); r=jdm It has a single use, and I don't think we should use it in the future. Source-Repo: https://github.com/servo/servo Source-Revision: 4a2103b9e600a3b372d2770669b3f9f597d1e4b3
9903b9dbd27f2b5183c2a4c3bf6b9ed7b4d34fbd: Bug 1414581 - Part 2. Add crashtest. r=masayuki
Makoto Kato <m_kato@ga2.so-net.ne.jp> - Mon, 06 Nov 2017 17:06:09 +0900 - rev 441494
Push 8130 by ryanvm@gmail.com at Thu, 09 Nov 2017 00:28:20 +0000
Bug 1414581 - Part 2. Add crashtest. r=masayuki MozReview-Commit-ID: 3H4DSubkt0q
c95fd22b6a4f4741e38aa1a1a68e944ccf31400d: Bug 1414581 - Part 1. Require more nullptr check of parent node. r=masayuki
Makoto Kato <m_kato@ga2.so-net.ne.jp> - Mon, 06 Nov 2017 17:05:37 +0900 - rev 441493
Push 8130 by ryanvm@gmail.com at Thu, 09 Nov 2017 00:28:20 +0000
Bug 1414581 - Part 1. Require more nullptr check of parent node. r=masayuki Bug 1402904 added nullptr check for parent node, but I forgot to add this nullptr check of selected node for outdent command. So I need to add more nullptr check. MozReview-Commit-ID: Au9wrG6htk8
901652a2298bb1e2a436dfbeba959899eb84adf8: Bug 1414631 - Remove the Chromium Process class r=jld
Sylvestre Ledru <sledru@mozilla.com> - Tue, 07 Nov 2017 14:57:23 +0100 - rev 441492
Push 8130 by ryanvm@gmail.com at Thu, 09 Nov 2017 00:28:20 +0000
Bug 1414631 - Remove the Chromium Process class r=jld MozReview-Commit-ID: B5NmJPQhGYm
78f97c364749691c184361eef850a59198cf011f: Bug 1393045 - support QT AudioSampleEntry v2. r=kinetik
Alfredo.Yang <ayang@mozilla.com> - Wed, 08 Nov 2017 09:21:58 +0800 - rev 441491
Push 8130 by ryanvm@gmail.com at Thu, 09 Nov 2017 00:28:20 +0000
Bug 1393045 - support QT AudioSampleEntry v2. r=kinetik MozReview-Commit-ID: GchJJBrdKYm
8dbc7c83b48762894fd1e02fa1032bfc1a3fdb73: Bug 1402963 - Part 2: Merge the credit card record into existing data. r=lchang
steveck-chung <schung@mozilla.com> - Wed, 25 Oct 2017 17:46:56 +0800 - rev 441490
Push 8130 by ryanvm@gmail.com at Thu, 09 Nov 2017 00:28:20 +0000
Bug 1402963 - Part 2: Merge the credit card record into existing data. r=lchang MozReview-Commit-ID: 3Hkqvo2rK9R
3eef0753a078b9de3ad6d0cd98c96e5f345edc5a: Bug 1402963 - Part 1: Deduplicate credit card by checking credit card storage and untouched fields. r=lchang
steveck-chung <schung@mozilla.com> - Wed, 27 Sep 2017 18:38:13 +0800 - rev 441489
Push 8130 by ryanvm@gmail.com at Thu, 09 Nov 2017 00:28:20 +0000
Bug 1402963 - Part 1: Deduplicate credit card by checking credit card storage and untouched fields. r=lchang MozReview-Commit-ID: tuw36eyQnl
a22464e2572f83d2313bfc3537034b92edd75bd0: Bug 1411765 - Part3:Disable part of failing test grid-fragmentation-dyn1-006.html. r=mats
Mats Palmgren <mats@mozilla.com> - Tue, 07 Nov 2017 13:16:58 -0800 - rev 441488
Push 8130 by ryanvm@gmail.com at Thu, 09 Nov 2017 00:28:20 +0000
Bug 1411765 - Part3:Disable part of failing test grid-fragmentation-dyn1-006.html. r=mats MozReview-Commit-ID: Id6hGHuTuTr
4288a7814f71e22de13f90a58961da76b482f9af: Bug 1411765 - Part2:Remove extra border fragment from ref file to match it with new expected output of grid fragmentation tests and change assertion count for crashtests. r=mats
Neerja Pancholi <npancholi@mozilla.com> - Tue, 07 Nov 2017 12:24:32 -0800 - rev 441487
Push 8130 by ryanvm@gmail.com at Thu, 09 Nov 2017 00:28:20 +0000
Bug 1411765 - Part2:Remove extra border fragment from ref file to match it with new expected output of grid fragmentation tests and change assertion count for crashtests. r=mats MozReview-Commit-ID: A6gPAuBI13X
0590cfeeeaa383909234ec08837e9faa6f9ef43f: Bug 1411765 - Part1:Convert an Incomplete reflow status to OverflowIncomplete also when our size is exactly the available size, not just less. r=mats
fantasai <fantasai.cvs@inkedblade.net> - Wed, 25 Oct 2017 14:21:19 -0700 - rev 441486
Push 8130 by ryanvm@gmail.com at Thu, 09 Nov 2017 00:28:20 +0000
Bug 1411765 - Part1:Convert an Incomplete reflow status to OverflowIncomplete also when our size is exactly the available size, not just less. r=mats MozReview-Commit-ID: JikD7p70pJy
(0) -300000 -100000 -30000 -10000 -3000 -1000 -300 -100 -50 -20 +20 +50 +100 +300 +1000 +3000 +10000 +30000 +100000 tip