Граф коммитов

528857 Коммитов

Автор SHA1 Сообщение Дата
L. David Baron c2af2e1613 Bug 1353187 - Give frame properties the const-ness semantics of member variables. r=dholbert
This makes it so that, given a |const nsIFrame*|, a caller can retrieve
properties but not set or remove them, but with an |nsIFrame*| all
operations are allowed.  I believe this is sensible since properties act
as extended member variables for things that are needed rarely, and
these are the const-ness semantics of member variables.

This also avoids the need for const_cast<nsIFrame*> to cast away const
in the following patch, which guards property access with a frame state
bit.

MozReview-Commit-ID: IJ9JnGzdH51

--HG--
extra : transplant_source : %91%D6%C7%01hC%B3z%90%B6%93%93qcAK%CB%09%D6z
2017-04-03 20:43:30 -07:00
L. David Baron 4d700b54f1 Bug 1352889 - Ensure that PLDHashTable's second hash doesn't have padding with 0 bits for tables with capacity larger than 2^16. r=njn
PLDHashTable takes the result of the hash function and multiplies it by
kGoldenRatio to ensure that it has a good distribution of bits across
the 32-bit hash value, and then zeroes out the low bit so that it can be
used for the collision flag.  This result is called hash0.  From hash0
it computes two different numbers used to find entries in the table
storage:  hash1 is used to find an initial position in the table to
begin searching for an entry; hash2 is then used to repeatedly offset
that position (mod the size of the table) to build a chain of positions
to search.

In a table with capacity 2^c entries, hash1 is simply the upper c bits
of hash0.  This patch does not change this.

Prior to this patch, hash2 was the c bits below hash1, padded at the low
end with zeroes when c > 16.  (Note that bug 927705, changeset
1a02bec165e16f370cace3da21bb2b377a0a7242, increased the maximum capacity
from 2^23 to 2^26 since 2^23 was sometimes insufficient!)  This manner
of computing hash2 is problematic because it increases the risk of long
chains for very large tables, since there is less variation in the hash2
result due to the zero padding.

So this patch changes the hash2 computation by using the low bits of
hash0 instead of shifting it around, thus avoiding 0 bits in parts of
the hash2 value that are significant.

Note that this changes what hash2 is in all cases except when the table
capacity is exactly 2^16, so it does change our hashing characteristics.
For tables with capacity less than 2^16, it should be using a different
second hash, but with the same amount of random-ish data.  For tables
with capacity greater than 2^16, it should be using more random-ish
data.

MozReview-Commit-ID: JvnxAMBY711

--HG--
extra : transplant_source : %8A%25%FB%E3H%B8_%F1G%F6%3E%0B%29%DF%20%FF%D8%E1%AEw
2017-04-03 20:43:30 -07:00
L. David Baron db2f1da78f Bug 1352888 - Don't set the collision flag when adding to PLDHashTable if we've already found the entry we're going to add. r=njn
PLDHashTable's entry store has two types of unoccupied entries:  free
entries and removed entries.  The search of a chain of entries
(determined by the hash value) in the entry store to search for an entry
can stop at free entries, but it continues across removed entries,
because removed entries are entries that may have been skipped over when
we were adding the value we're searching for to the hash, but have since
been removed.  For live entries, we also maintain this distinction by
using one bit of storage for a collision flag, which notes that if the
hashtable entry is removed, its place in the entry store must become a
removed entry rather than a free entry.

When we add a new entry to the table, Add's semantics require that we
return an existing entry if there is one, and only create a new entry if
no existing entry exists.  (Bug 1352198 suggests the possibility of a
faster alternative Add API where the caller guarantees that the key is
not already in the hashtable.)  When we search for the existing entry,
we must thus continue the search across removed entries, even though we
record the first removed entry found to return if the search for an
existing entry fails.

The existing code adds the collision flag through the entire table
search during an Add.  This patch changes that behavior so that we only
add the collision flag prior to finding the first removed entry.  Adding
it after we find the first removed entry is unnecessary, since we are
not making that entry part of a path to a new entry.  If it is part of a
path to an existing entry, it will already have the collision flag set.

This patch effectively puts an if (!firstRemoved) around the else branch
of the if (MOZ_UNLIKELY(EntryIsRemoved(entry))), and then refactors that
condition outwards since it is now around the contents of both the if
and else branches.

MozReview-Commit-ID: CsXnMYttHVy

--HG--
extra : transplant_source : 0T%B0%FA%C0%85v%8B%16%E7%81%03p%F5K%97%B1%9E%92%27
2017-04-03 20:43:29 -07:00
L. David Baron 0b145fb182 Bug 1277709 - Make threadsafe reference counting use the minimum memory sychronization needed. r=froydnj
This uses std::atomic rather than mozilla::Atomic since mozilla::Atomic
does not support using different memory synchronization for different
atomic operations on the same variable.

The added comments could use careful review since, while they reflect my
understanding of the issue, I don't consider myself an expert on the
topic.

MozReview-Commit-ID: 7xByCXt17Dr

--HG--
extra : transplant_source : 8%8Ci%CC%EA%0F%CF%C7%3E%F1%93%F5%C9%ED9%84%F9%3Evx
2017-04-03 20:43:29 -07:00
Bill McCloskey e83663c320 Bug 1349699 - Fix ASAN builds
MozReview-Commit-ID: 9tsL7nzjbpS
2017-04-03 20:08:02 -07:00
Bill McCloskey 4d6c01074f Bug 1349699 - Assert that the Chromium channel is closed when MessageLoop is destroyed (r=dvander)
MozReview-Commit-ID: I7HyjVanlxJ
2017-04-03 19:41:13 -07:00
Bill McCloskey c3bd8c6e5b Bug 1349699 - Assert when destroying a MessageLoop that a live MessageChannel is attached to (r=dvander)
MozReview-Commit-ID: GGr5UqJl3ui
2017-04-03 19:41:13 -07:00
Bill McCloskey 4b205424a5 Bug 1350724 - Remove telemetry for tab cache position (r=mconley)
MozReview-Commit-ID: 5yJUeC2HxPs
2017-04-03 19:41:13 -07:00
Matthew Gregan 2174e12534 Bug 1352929 - Update libcubeb to 04826edb. r=padenot 2017-04-04 14:02:04 +12:00
Eric Rahm 2fb2f1cb55 Bug 1244091 - Switch nsUpdateDriver to LazyLogModule. r=froydnj 2017-04-03 18:36:18 -07:00
Nicholas Nethercote f9ffeeb27b Bug 1351963 (part 3, attempt 2) - Remove ThreadInfo from ProfilerBacktrace. r=mstange. 2017-04-04 09:41:53 +10:00
Nicholas Nethercote 44c0cb1064 Bug 1351963 (part 2, attempt 2) - Move StreamSamplesAndMarkers() out of ThreadInfo. r=mstange. 2017-04-04 09:41:11 +10:00
Paul Bignier 799ce6cc86 Bug 1352825 - Fix comment typos of 'docshell'. r=MattN
--HG--
extra : rebase_source : 54695797cb5b1e340a487988b4cf4f00a1209147
2017-04-03 09:09:00 -04:00
Hideki Takeoka 613f5321ec Bug 1351948 - Refuse ws messages that don't use minimal encoding. r=michal
--HG--
extra : rebase_source : 269bb3854d523e4100e5c1eda65b006bb15ae00d
2017-04-03 10:49:22 -04:00
Mihai Tabara c4ac3e36d2 Bug 1341352 - add balrogworker support for releases. r=aki a=release DONTBUILD"
MozReview-Commit-ID: KbkKMdKmQpG

--HG--
extra : source : dae947786d0c56bd96e63cf4d40e702db4694e16
2017-04-04 07:37:24 +08:00
Kris Maglione 0638745d18 Bug 1352893: Handle non-UTF-8 data in Unix environment variables. r=mstange
MozReview-Commit-ID: 5aRVYQICc7O

--HG--
extra : rebase_source : 6244a8ba08bad6da90496f27e9bb4eaace5e6fb9
extra : amend_source : f997353c8b075c989ace2790ae73330fd375b558
2017-04-02 18:46:10 -07:00
Geoff Brown 1fd72486a0 Bug 1353016 - Add more test chunks for linux debug mochitest-bc; r=jmaher 2017-04-03 16:50:15 -06:00
Geoff Brown fbf67d9039 Bug 1341337 - Split test browser_extension_update_background.js; r=kmag 2017-04-03 16:50:13 -06:00
Luke Wagner b02d193813 Bug 1353189 - Baldr: remove CodeSegment::vtune_method_id (r=sstangl)
MozReview-Commit-ID: 5WzMfxXB8M5
2017-04-03 17:45:37 -05:00
Paul Bignier 166ed99e17 Bug 1352805 - Typo fixes in comments around "unfortunately". r=MattN
MozReview-Commit-ID: B76JuHabq9T
2017-04-03 09:23:00 -07:00
Paul Bignier bc0c1045c5 Bug 1352848 - Fix spelling of 'settings' in comment. r=MattN
MozReview-Commit-ID: J6PjvNRKhEm

--HG--
extra : rebase_source : 09e4d07f42767e63a604015d18871ae1fb92bac7
2017-04-03 15:24:46 -07:00
Paul Bignier 9103ac60ef Bug 1352808 - Typo fixes for 'browser' in comments. r=MattN
MozReview-Commit-ID: IA42yQO5Sb8

--HG--
extra : rebase_source : b5426724c5b740639f71e5d058742b01868085e2
2017-04-03 15:26:11 -07:00
Paul Bignier ff2e59d1cd Bug 1352802 - Typo fixes around 'accessible'. r=MattN
MozReview-Commit-ID: 27CyNOMXkRq

--HG--
extra : rebase_source : 30e8891fa40cb497ab695e72b179c850a3a5c8d9
2017-04-03 09:47:00 -07:00
David Anderson c10c9d57eb Don't synchronously send the initial layer tree mapping list to the GPU process. (bug 1350660 part 2, r=rhunt) 2017-04-03 15:13:38 -07:00
David Anderson 0f3b97ed9c When using the GPU process, combine layer ownership and window mapping into a single IPC message. (bug 1350660 part 1, r=rhunt, r=billm) 2017-04-03 15:13:37 -07:00
David Anderson dfbf7fe0d0 Add crash reporter annotations for the GPU process status. (bug 1343650, r=billm)
--HG--
extra : rebase_source : 28e0d023e99f66f518047f1a468c899ff52c590a
2017-04-03 15:11:27 -07:00
Wes Kocher 734b25e05c Merge m-c to inbound, a=merge 2017-04-03 14:51:06 -07:00
Wes Kocher 53dde6a1d2 Merge inbound to central, a=merge 2017-04-03 14:50:18 -07:00
Wes Kocher ad3c125e24 Merge autoland to central, a=merge 2017-04-03 14:43:05 -07:00
Randell Jesup d5d480e33d Bug 1349581: defer nativeRegistration for android Jni to avoid thread issues r=gcp
MozReview-Commit-ID: Ep0ej5HkGE3
2017-04-03 16:58:44 -04:00
Olli Pettay c30a0ed796 Bug 1351303, make HTML parser to use faster atomization in main thread, r=froydnj
--HG--
extra : rebase_source : 60b5877f237644d99e97c19e8086e2302b2aad84
2017-04-03 23:13:55 +03:00
Olli Pettay 98fff73826 Bug 1351303, add main thread only cache for nsIAtoms to speed up atomization, r=froydnj
--HG--
extra : rebase_source : 9c67cd71c0721329eaeaaa96a295e90abc480042
2017-04-03 23:13:18 +03:00
Olli Pettay d5caa7c6c0 Bug 1352687, try to recycle HTMLInputElement's nsTextEditorState, r=baku
--HG--
extra : rebase_source : 05c8dc2bd0c29ce3064548e1cabac2d62803cabc
2017-04-03 20:40:48 +03:00
Tom Schuster 7c9aab27bc Bug 1352006 - Inline NewArrayIterator in Ion. r=jandem 2017-04-03 22:24:03 +02:00
Nathan Froyd e0317a08e6 Bug 1346814 - don't export sStartupTimeline{,Desc}; r=bsmedberg
Fewer symbols exported = more better.
2017-04-03 16:02:31 -04:00
Kim Moir 75935fcc5c Bug 1339542 - When Servo vcs sync service lands Servo commits in autoland repo, run linux64-stylo tests but skip other platforms (to reduce test load) r=dustin DONTBUILD 2017-04-03 15:48:09 -04:00
Nathan Froyd 1a5c10bc46 Bug 1348454 - use a single thread for IdentityCryptoService; r=jesup
Rather than starting a single thread for every key generation and key
signing operation started by IdentityCryptoService, and then leaking
those threads, we can at least start a single thread to be used by all
operations and leak that instead.
2017-04-03 15:41:54 -04:00
Alexander Surkov c528975ed0 Bug 1349160 - Dismissing Print dialogue crashes Firefox, r=yzen 2017-04-03 15:21:05 -04:00
Ted Campbell cf8fb2b9dd Bug 1351951 - Cleanup GetStubReturnAddress handling
MozReview-Commit-ID: 6e7fUZZTnC9
2017-04-03 14:47:20 -04:00
Ted Campbell 08f87617cd Bug 1351951 - Add ICStubCompiler::assumeStubFrame
MozReview-Commit-ID: FKwYMjDqCLf
2017-04-03 14:47:18 -04:00
Sebastian Hengst 8858633e3a Backed out changeset ce87577c5da8 (bug 1224137) for failing xpcshell test browser/modules/test/unit/test_SitePermissions.js. r=backout 2017-04-03 19:07:39 +02:00
ffxbld 381a7b8f8a No bug, Automated HPKP preload list update from host bld-linux64-spot-382 - a=hpkp-update 2017-04-03 08:07:24 -07:00
ffxbld 89740567f2 No bug, Automated HSTS preload list update from host bld-linux64-spot-382 - a=hsts-update 2017-04-03 08:07:21 -07:00
Carsten "Tomcat" Book 8d910c41e3 merge mozilla-inbound to mozilla-central a=merge 2017-04-03 12:13:46 +02:00
Carsten "Tomcat" Book ac161c6904 Backed out changeset d9ce5cdb4e5a (bug 1351963) for hopefully fix the dt leaks 2017-04-03 08:19:22 +02:00
Carsten "Tomcat" Book b9e48685b2 Backed out changeset 016c13131fff (bug 1351963) 2017-04-03 08:18:55 +02:00
Timothy Nikkel b211ea35d7 Bug 1350463. Consider visibility: hidden frames to be not visible in nsIFrame::UpdateVisibilitySynchronously to match PresShell::MarkFramesInSubtreeApproximatelyVisible. r=mats 2017-04-03 00:52:17 -05:00
Franziskus Kiefer d040cb9cea Bug 1345368 - land NSS 1fb7e5f584de, r=me
--HG--
extra : rebase_source : 6ac73d3dc219a02194914ae4cfbe2027c258bbfe
2017-04-03 06:00:54 +02:00
Nicholas Nethercote 5ed484057c Bug 1351963 (part 3) - Remove ThreadInfo from ProfilerBacktrace. r=mstange.
At this point the only things in the ThreadInfo it uses are the thread name and
id, which are easy to store instead. This gets a step closer to avoiding the
use of ThreadInfo in profiler_get_backtrace().

--HG--
extra : rebase_source : f4feb08ec9fe7880ee43f784c6878c1c04fd3294
2017-03-31 09:41:42 +11:00
Nicholas Nethercote 9fe90f9b94 Bug 1351963 (part 2) - Move StreamSamplesAndMarkers() out of ThreadInfo. r=mstange.
StreamSamplesAndMarkers() is the only ThreadInfo method called on
ProfilerBacktrace::mThreadInfo. Furthermore, it doesn't use all that much stuff
from ThreadInfo, and what stuff it does use we can instead pass in as
arguments.

This patch moves StreamSamplesAndMarkers() out of the class. It's a little
ugly, but a necessary precursor for removing ProfilerBacktrace::mThreadInfo and
all the subsequent improvements.

--HG--
extra : rebase_source : 417bda4f29a27c525f7240d3427494dd86b9a868
2017-03-31 09:37:24 +11:00