gecko-dev/xpcom/ds
Simon Giesecke fcbd7f145f Bug 1654991 - Simplify move constructor of nsTArray_Impl. r=froydnj
The move constructor of nsTArray_Impl (and therefore of nsTArray) was
implemented using SwapElements, which is a rather generic and therefore
complex method (in the sense of template instantiation and code generation),
which doesn't make use of the knowledge that the target array does not have
inline storage and is empty with 0 capacity. Therefore, a new specialized method,
MoveConstructNonAutoArray, is introduced that does use this knowledge. This
adds another method to maintain, but given that the move constructor is a
frequently used operation that is expected to have a small compile-time and
run-time cost (potentially used implicitly), this seems like a reasonable
trade-off.

Differential Revision: https://phabricator.services.mozilla.com/D84804
2020-08-03 15:14:38 +00:00
..
test Bug 1652158: Removes usage of old tuple-based node system r=firefox-build-system-reviewers,rstewart 2020-07-13 19:03:04 +00:00
tools Bug 1652158: Removes usage of old tuple-based node system r=firefox-build-system-reviewers,rstewart 2020-07-13 19:03:04 +00:00
ArenaAllocator.h
ArenaAllocatorExtensions.h
ArrayAlgorithm.h Bug 1626267 - Added transformation algorithms with error handling. r=froydnj 2020-04-01 15:53:58 +00:00
ArrayIterator.h Bug 1625138 - Part 41: Remove no longer needed includes for mozilla/TypeTraits. r=froydnj 2020-03-28 16:00:09 +00:00
Atom.py
AtomArray.h
components.conf Bug 1464542: Part 3b - Add existing Services.jsm registrations to the new services cache. r=mccr8,geckoview-reviewers,agi 2020-07-09 21:42:25 +00:00
Dafsa.cpp
Dafsa.h
HTMLAtoms.py
IncrementalTokenizer.cpp
IncrementalTokenizer.h Bug 1624776 - Replace MOZ_MUST_USE with [[nodiscard]] in xpcom. r=xpcom-reviewers,KrisWright 2020-03-27 17:21:48 +00:00
moz.build Bug 1629337: Implements incremental dafsa algorithm r=rstewart 2020-07-10 21:08:10 +00:00
MruCache.h
nsArray.cpp
nsArray.h Bug 1613985 - Use default for equivalent-to-default constructors/destructors in xpcom. r=froydnj 2020-02-12 11:13:33 +00:00
nsArrayEnumerator.cpp
nsArrayEnumerator.h
nsArrayUtils.cpp
nsArrayUtils.h
nsAtom.h Bug 1625138 - Part 35: Replace mozilla::TrueType with std::true_type. r=froydnj,jgilbert 2020-03-28 13:57:20 +00:00
nsAtomTable.cpp Bug 1648010 - Replace uses of NS_LITERAL_STRING/NS_LITERAL_CSTRING macros by _ns literals. r=geckoview-reviewers,jgilbert,agi,hsivonen,froydnj 2020-07-01 08:29:29 +00:00
nsAtomTable.h
nsBaseHashtable.h Bug 1627198 - Make nsTHashtable a STL-style range. r=froydnj 2020-04-06 09:18:02 +00:00
nsCharSeparatedTokenizer.h
nsCheapSets.h Bug 1570499 - Part 1: Replace MOZ_FALLTHROUGH macro with C++17's [[fallthrough]] attribute. r=froydnj 2019-12-20 07:16:43 +00:00
nsClassHashtable.h Bug 1646772 - Add nsClassHashtable::LookupOrAddFromFactory and missing tests for nsClassHashtable::LookupForAdd. r=froydnj 2020-06-22 14:54:18 +00:00
nsCOMArray.cpp Bug 1628715 - Part 5: Add MOZ_NONNULL_RETURN to infallible nsTArray::InsertElementsAt. r=xpcom-reviewers,nika 2020-04-24 13:26:13 +00:00
nsCOMArray.h Bug 1645429 - Use std::reverse_iterator instead of mozilla::ReverseIterator where possible. r=froydnj 2020-06-16 10:14:01 +00:00
nsCRT.cpp
nsCRT.h
nsDataHashtable.h Bug 1613985 - Use default for equivalent-to-default constructors/destructors in xpcom. r=froydnj 2020-02-12 11:13:33 +00:00
nsDeque.cpp Bug 1337953 - Make nsDeque templated on pointer type r=froydnj 2020-06-25 02:39:23 +00:00
nsDeque.h Bug 1337953 - Make nsDeque templated on pointer type r=froydnj 2020-06-25 02:39:23 +00:00
nsEnumeratorUtils.cpp Bug 1613985 - Use default for equivalent-to-default constructors/destructors in xpcom. r=froydnj 2020-02-12 11:13:33 +00:00
nsEnumeratorUtils.h
nsExpirationTracker.h Bug 1642949 - Replace uses of RemoveElementAt by RemoveLastElement/PopLastElement where possible. r=necko-reviewers,froydnj 2020-06-10 10:46:14 +00:00
nsGkAtoms.cpp
nsGkAtoms.h
nsHashKeys.h Bug 1641245 - Make string comparators not virtual. r=froydnj,necko-reviewers,geckoview-reviewers,jgilbert,agi,valentin 2020-05-27 18:11:12 +00:00
nsHashPropertyBag.cpp Bug 1627389 - Add missing using statements to xpcom/ds. r=xpcom-reviewers,KrisWright 2020-04-06 22:35:20 +00:00
nsHashPropertyBag.h Bug 1609815 - Remove Web Replay C++ implementation. r=jgilbert,jandem,gbrown 2020-02-27 17:39:15 +00:00
nsIArray.idl
nsIArrayExtensions.idl
nsIINIParser.idl
nsIMutableArray.idl
nsINIParserImpl.cpp Bug 1613985 - Use default for equivalent-to-default constructors/destructors in xpcom. r=froydnj 2020-02-12 11:13:33 +00:00
nsINIParserImpl.h Bug 1613985 - Use default for equivalent-to-default constructors/destructors in xpcom. r=froydnj 2020-02-12 11:13:33 +00:00
nsInterfaceHashtable.h Bug 1624776 - Replace MOZ_MUST_USE with [[nodiscard]] in xpcom. r=xpcom-reviewers,KrisWright 2020-03-27 17:21:48 +00:00
nsIObserver.idl
nsIObserverService.idl Bug 1612724 - Part 1: Add a NotifyWhenScriptSafe helper method to nsIObserverService, r=froydnj 2020-02-04 22:09:34 +00:00
nsIPersistentProperties2.idl
nsIPersistentProperties.h
nsIProperties.idl
nsIProperty.idl
nsIPropertyBag2.idl
nsIPropertyBag.idl
nsISerializable.idl
nsISimpleEnumerator.idl
nsIStringEnumerator.idl
nsISupportsIterators.idl
nsISupportsPrimitives.idl
nsIVariant.idl
nsIWindowsRegKey.idl
nsIWritablePropertyBag2.idl
nsIWritablePropertyBag.idl
nsJSThingHashtable.h
nsMathUtils.h
nsObserverList.cpp Bug 1241518 - Part 1: Remove unused nsAutoPtr.h includes in xpcom/ r=kmag 2020-01-07 00:06:01 +00:00
nsObserverList.h Bug 1624776 - Replace MOZ_MUST_USE with [[nodiscard]] in xpcom. r=xpcom-reviewers,KrisWright 2020-03-27 17:21:48 +00:00
nsObserverService.cpp Bug 1648010 - Replace uses of NS_LITERAL_STRING/NS_LITERAL_CSTRING macros by _ns literals. r=geckoview-reviewers,jgilbert,agi,hsivonen,froydnj 2020-07-01 08:29:29 +00:00
nsObserverService.h Bug 1624776 - Replace MOZ_MUST_USE with [[nodiscard]] in xpcom. r=xpcom-reviewers,KrisWright 2020-03-27 17:21:48 +00:00
nsPersistentProperties.cpp Bug 1613985 - Use default for equivalent-to-default constructors/destructors in xpcom. r=froydnj 2020-02-12 11:13:33 +00:00
nsPersistentProperties.h Bug 1613985 - Use default for equivalent-to-default constructors/destructors in xpcom. r=froydnj 2020-02-12 11:13:33 +00:00
nsPointerHashKeys.h Bug 1613985 - Use default for equivalent-to-default constructors/destructors in xpcom. r=froydnj 2020-02-12 11:13:33 +00:00
nsProperties.cpp
nsProperties.h
nsQuickSort.cpp
nsQuickSort.h
nsRefPtrHashtable.h Bug 1624776 - Replace MOZ_MUST_USE with [[nodiscard]] in xpcom. r=xpcom-reviewers,KrisWright 2020-03-27 17:21:48 +00:00
nsSimpleEnumerator.cpp
nsSimpleEnumerator.h
nsStaticAtomUtils.h
nsStaticNameTable.cpp
nsStaticNameTable.h
nsStringEnumerator.cpp
nsStringEnumerator.h Bug 1624776 - Replace MOZ_MUST_USE with [[nodiscard]] in xpcom. r=xpcom-reviewers,KrisWright 2020-03-27 17:21:48 +00:00
nsSupportsPrimitives.cpp Bug 1515419 - fixing ToNewCString (and ToNewUnicode as well) xpcom/string/nsReadableUtils.cpp r=froydnj,necko-reviewers,valentin 2020-05-17 06:58:48 +00:00
nsSupportsPrimitives.h Bug 1613985 - Use default for equivalent-to-default constructors/destructors in xpcom. r=froydnj 2020-02-12 11:13:33 +00:00
nsTArray-inl.h Bug 1654991 - Simplify move constructor of nsTArray_Impl. r=froydnj 2020-08-03 15:14:38 +00:00
nsTArray.cpp
nsTArray.h Bug 1654991 - Simplify move constructor of nsTArray_Impl. r=froydnj 2020-08-03 15:14:38 +00:00
nsTArrayForwardDeclare.h Bug 1626570 - Add CopyableTArray. r=xpcom-reviewers,nika 2020-04-30 09:35:57 +00:00
nsTHashtable.h Bug 1599160 - Fix build error with nsTHashtable<const SheetLoadDataHashKey>. r=froydnj 2020-06-02 17:02:51 +00:00
nsTObserverArray.cpp
nsTObserverArray.h Bug 1645386 - Use nsTObserverArray::NonObservingRange where possible instead of ForwardRange. r=froydnj 2020-06-22 08:21:24 +00:00
nsTPriorityQueue.h Bug 1643289 - Move elements where possible in nsTPriorityQueue instead of copying them. r=froydnj 2020-06-10 10:46:34 +00:00
nsVariant.cpp Bug 1651210 - uint variant values should convert over as uints, not ints r=froydnj 2020-07-09 13:02:29 +00:00
nsVariant.h Bug 1624776 - Replace MOZ_MUST_USE with [[nodiscard]] in xpcom. r=xpcom-reviewers,KrisWright 2020-03-27 17:21:48 +00:00
nsWhitespaceTokenizer.h
nsWindowsRegKey.cpp Bug 1241518 - Part 1: Remove unused nsAutoPtr.h includes in xpcom/ r=kmag 2020-01-07 00:06:01 +00:00
nsWindowsRegKey.h Bug 1624776 - Replace MOZ_MUST_USE with [[nodiscard]] in xpcom. r=xpcom-reviewers,KrisWright 2020-03-27 17:21:48 +00:00
Observer.h Bug 1645339 - Use range-based for with nsTObserverArray in xpcom. r=froydnj 2020-06-15 08:55:27 +00:00
PerfectHash.h Bug 1625138 - Part 4: Replace mozilla::MakeUnsigned with std::make_unsigned. r=froydnj 2020-03-28 13:57:12 +00:00
PLDHashTable.cpp Bug 1609815 - Remove Web Replay C++ implementation. r=jgilbert,jandem,gbrown 2020-02-27 17:39:15 +00:00
PLDHashTable.h Bug 1609815 - Remove Web Replay C++ implementation. r=jgilbert,jandem,gbrown 2020-02-27 17:39:15 +00:00
SimpleEnumerator.h
StaticAtoms.py Bug 1654045 - part2 : add 'onactivated/ondeactivated' event handlers and 'isActive' on the media control webidl interface. r=chunmin 2020-07-31 17:26:38 +00:00
StickyTimeDuration.h
Tokenizer.cpp Bug 1628713 - Add Tokenizer::CheckPhrase to quickly check for compound strings, r=xpcom-reviewers,erahm 2020-07-23 12:57:50 +00:00
Tokenizer.h Bug 1628713 - Add Tokenizer::CheckPhrase to quickly check for compound strings, r=xpcom-reviewers,erahm 2020-07-23 12:57:50 +00:00