gecko-dev/xpcom/ds
Nathan Froyd 790af83dcc Bug 1460674 - part 3 - make PLDHashTable iteration faster; r=njn
The core loop of Iterator::Next() requires multiple branches, one to
check for entry liveness and one to check for wraparound.  We can
rewrite this to use masking instead, as well as iterating only over the
hashes, and reconstructing the entry pointer when we know we've reached
a live entry.  This change cuts the time taken on the collections
benchmark by the iteration portion in half.
2018-11-26 16:24:50 -05:00
..
tools Bug 1500927 - Add copy-free jsstring support to perfecthash.py, r=bzbarsky 2018-10-24 20:11:01 -04:00
ArenaAllocator.h Bug 1406727 - Improve diagnostics in BuildDisplayList. r=froydnj 2018-02-06 12:21:31 +13:00
ArenaAllocatorExtensions.h Bug 1412416 - Part 2: Simplify ArenaStrdup for xpcom strings. r=froydnj 2017-10-27 13:26:47 -07:00
ArrayIterator.h
Atom.py Bug 1499170 - Add an atom bit to know whether we're ascii lowercase. r=njn 2018-11-13 12:47:40 +00:00
AtomArray.h Bug 1407843 part 1 - Introduce a global-level AtomArray type alias. r=froydnj 2017-10-13 11:59:23 +11:00
Dafsa.cpp
Dafsa.h
HTMLAtoms.py Bug 1482782 - Part 1: Generate nsGkAtomList.h from a Python file. r=njn,hsivonen 2018-08-15 15:46:00 +10:00
IncrementalTokenizer.cpp Bug 1492204 - Part 3: Remove references to char_iterator. r=froydnj 2018-09-18 12:05:23 -07:00
IncrementalTokenizer.h Bug 1463786 - Make mozilla::Tokenizer work also with char16_t, r=froydnj 2018-05-31 03:40:00 +03:00
moz.build Bug 1500927 - Add copy-free jsstring support to perfecthash.py, r=bzbarsky 2018-10-24 20:11:01 -04:00
MruCache.h Bug 1491151 - Part 1: Add MruCache. r=smaug,froydnj 2018-09-10 14:45:55 -07:00
nsArray.cpp Bug 1477432 - Part 10: Stop using nsIJSID in nsIArray for optional IID parameters, r=kmag 2018-11-16 17:27:46 -05:00
nsArray.h
nsArrayEnumerator.cpp Bug 1484496: Part 4b - Add intrinsic type information to most nsSimpleEnumerators. r=froydnj 2018-08-18 21:06:32 -07:00
nsArrayEnumerator.h Bug 1484496: Part 4b - Add intrinsic type information to most nsSimpleEnumerators. r=froydnj 2018-08-18 21:06:32 -07:00
nsArrayUtils.cpp
nsArrayUtils.h
nsAtom.h Bug 1499170 - Add an atom bit to know whether we're ascii lowercase. r=njn 2018-11-13 12:47:40 +00:00
nsAtomTable.cpp Bug 1499170 - Add an atom bit to know whether we're ascii lowercase. r=njn 2018-11-13 12:47:40 +00:00
nsAtomTable.h Bug 1447951 - Store nsDynamicAtom's chars after the end of the object. r=froydnj 2018-06-22 09:38:42 +10:00
nsBaseHashtable.h Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj 2018-06-01 10:45:27 +02:00
nsCharSeparatedTokenizer.h
nsCheapSets.h Bug 1469769 - Part 6: Replace non-failing NS_NOTREACHED with MOZ_ASSERT_UNREACHABLE. r=froydnj 2018-06-17 22:43:11 -07:00
nsClassHashtable.h Bug 1466168: Remove mozilla::Forward in favor of std::forward. r=froydnj 2018-06-02 09:33:26 +02:00
nsCOMArray.cpp Bug 1407838 - Remove the remains of NS_Alloc/NS_Realloc/NS_Free. r=njn 2017-10-12 11:08:44 +09:00
nsCOMArray.h Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj 2018-06-01 10:45:27 +02:00
nsCRT.cpp Bug 1427025 - Remove nsCRT::memmem. r=froydnj 2018-04-10 04:47:52 +10:00
nsCRT.h Bug 1453456 - Replace nsCRT::IsAscii{Alpha,Digit} with mfbt/TextUtils.h versions. r=froydnj 2018-04-12 20:19:30 -07:00
nsDataHashtable.h Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj 2018-06-01 10:45:27 +02:00
nsDeque.cpp
nsDeque.h
nsEnumeratorUtils.cpp Bug 1486147: Part 1 - Add JS iterator support to nsIStringEnumerator. r=mccr8 2018-08-24 16:21:33 -07:00
nsEnumeratorUtils.h
nsExpirationTracker.h Bug 1453795 - XPCOM - Initialize member fields in classes/ structures. r=froydnj 2018-06-15 14:41:20 +03:00
nsGkAtoms.cpp Bug 1507656 - Adjust nsGkAtoms.h comments for ASCII lowercase flag r=njn 2018-11-16 02:21:21 +00:00
nsGkAtoms.h Bug 1507656 - Adjust nsGkAtoms.h comments for ASCII lowercase flag r=njn 2018-11-16 02:21:21 +00:00
nsHashKeys.h Bug 1415980 - make hash keys movable and not copyable; r=erahm 2018-09-20 11:20:36 -04:00
nsHashPropertyBag.cpp Bug 1484496: Part 4b - Add intrinsic type information to most nsSimpleEnumerators. r=froydnj 2018-08-18 21:06:32 -07:00
nsHashPropertyBag.h
nsIArray.idl Bug 1477432 - Part 10: Stop using nsIJSID in nsIArray for optional IID parameters, r=kmag 2018-11-16 17:27:46 -05:00
nsIArrayExtensions.idl Bug 1484496: Part 4b - Add intrinsic type information to most nsSimpleEnumerators. r=froydnj 2018-08-18 21:06:32 -07:00
nsIHashable.idl
nsIINIParser.idl Bug 1484844: Make nsINIParser mutable. r=froydnj 2017-10-12 14:20:57 -07:00
nsIMutableArray.idl Bug 1484496: Part 4b - Add intrinsic type information to most nsSimpleEnumerators. r=froydnj 2018-08-18 21:06:32 -07:00
nsINIParserImpl.cpp Bug 1484844: Make nsINIParser mutable. r=froydnj 2017-10-12 14:20:57 -07:00
nsINIParserImpl.h
nsInterfaceHashtable.h Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj 2018-06-01 10:45:27 +02:00
nsIObserver.idl
nsIObserverService.idl
nsIPersistentProperties2.idl Bug 1491574 - Part 2: Remove the XPCOM registration for nsPersistentProperties; r=froydnj 2018-09-18 00:58:52 -04:00
nsIPersistentProperties.h
nsIProperties.idl
nsIProperty.idl
nsIPropertyBag2.idl
nsIPropertyBag.idl
nsISerializable.idl Bug 1440808 - Cleanup error handling in nsXULPrototypeDocument::Read. r=mccr8 2018-02-22 11:33:20 -08:00
nsISimpleEnumerator.idl Bug 1484496: Part 4b - Add intrinsic type information to most nsSimpleEnumerators. r=froydnj 2018-08-18 21:06:32 -07:00
nsIStringEnumerator.idl Bug 1486147: Part 1 - Add JS iterator support to nsIStringEnumerator. r=mccr8 2018-08-24 16:21:33 -07:00
nsISupportsIterators.idl
nsISupportsPrimitives.idl
nsIVariant.idl Bug 1507540 part 6. Make nsIVariant's "type" a notxpcom attribute. r=froydnj 2018-11-19 20:20:05 -05:00
nsIWindowsRegKey.idl
nsIWritablePropertyBag2.idl
nsIWritablePropertyBag.idl
nsJSThingHashtable.h
nsMathUtils.h
nsObserverList.cpp Bug 1502284 - Cleanup of the observer service code r=erahm 2018-11-12 11:04:17 +01:00
nsObserverList.h Bug 1502284 - Cleanup of the observer service code r=erahm 2018-11-12 11:04:17 +01:00
nsObserverService.cpp Bug 1502284 - Cleanup of the observer service code r=erahm 2018-11-12 11:04:17 +01:00
nsObserverService.h Bug 1502284 - Cleanup of the observer service code r=erahm 2018-11-12 11:04:17 +01:00
nsPersistentProperties.cpp Bug 1491574 - Part 2: Remove the XPCOM registration for nsPersistentProperties; r=froydnj 2018-09-18 00:58:52 -04:00
nsPersistentProperties.h Bug 1491574 - Part 2: Remove the XPCOM registration for nsPersistentProperties; r=froydnj 2018-09-18 00:58:52 -04:00
nsPointerHashKeys.h Bug 1415980 - make hash keys movable and not copyable; r=erahm 2018-09-20 11:20:36 -04:00
nsProperties.cpp
nsProperties.h Bug 1491574 - Part 1: Remove the XPCOM registration for nsProperties; r=froydnj 2018-09-18 00:33:59 -04:00
nsQuickSort.cpp
nsQuickSort.h
nsRefPtrHashtable.h Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj 2018-06-01 10:45:27 +02:00
nsSimpleEnumerator.cpp Bug 1484496: Part 4b - Add intrinsic type information to most nsSimpleEnumerators. r=froydnj 2018-08-18 21:06:32 -07:00
nsSimpleEnumerator.h Bug 1484496: Part 4b - Add intrinsic type information to most nsSimpleEnumerators. r=froydnj 2018-08-18 21:06:32 -07:00
nsStaticAtomUtils.h Bug 1483449 - Simplify nsStaticAtomUtils::Lookup. r=njn 2018-08-16 11:40:02 +10:00
nsStaticNameTable.cpp Bug 1475461 - part 2: Make callers of PLDHashTable::Search() const methods if possible r=Ehsan 2018-07-13 19:01:53 +09:00
nsStaticNameTable.h Bug 1475461 - part 2: Make callers of PLDHashTable::Search() const methods if possible r=Ehsan 2018-07-13 19:01:53 +09:00
nsStringEnumerator.cpp Bug 1493737 - Fix many trivial calls to do_QueryInterface r=smaug 2018-10-01 21:38:01 +00:00
nsStringEnumerator.h Bug 1486147: Part 1 - Add JS iterator support to nsIStringEnumerator. r=mccr8 2018-08-24 16:21:33 -07:00
nsSupportsPrimitives.cpp Bug 1409227 (part 4) - Replace nsMemory::Clone(id, sizeof(nsID)) with nsID::Clone(id). r=mccr8. 2017-10-18 10:39:20 +11:00
nsSupportsPrimitives.h
nsTArray-inl.h Bug 1483699 - part 2 - make InsertSlotsAt error checking more thorough; r=mccr8 2018-10-08 10:39:44 -04:00
nsTArray.cpp Bug 1460733 - Rename nsTArrayHeader::sEmptyHdr to extern "C" { sEmptyTArrayHeader } so that thin-vec can link with it. r=froydnj 2018-05-10 16:37:27 -04:00
nsTArray.h Bug 1483699 - part 2 - make InsertSlotsAt error checking more thorough; r=mccr8 2018-10-08 10:39:44 -04:00
nsTArrayForwardDeclare.h
nsTHashtable.h Bug 1509916 - use less C-style casting in nsTHashtable.h; r=erahm 2018-11-26 12:39:11 -05:00
nsTObserverArray.cpp Bug 1457813 - Part 2: Replace non-asserting NS_PRECONDITIONs with MOZ_ASSERTs. r=froydnj 2018-04-28 12:50:58 -07:00
nsTObserverArray.h Bug 1494745 part 6 - Make ns[Auto]TObserverArray methods that insert/append an Item return void since they're infallible. r=bz 2018-10-14 18:12:23 +02:00
nsTPriorityQueue.h
nsVariant.cpp Bug 1507540 part 6. Make nsIVariant's "type" a notxpcom attribute. r=froydnj 2018-11-19 20:20:05 -05:00
nsVariant.h Bug 1489047 - Remove C++ support for, and testing of, the XPIDL DOMString type. r=nika 2018-09-06 18:03:18 +10:00
nsWhitespaceTokenizer.h
nsWindowsRegKey.cpp Bug 1492204 - Part 1: Stop using deprecated string writing iterators. r=froydnj 2018-09-18 09:44:57 -07:00
nsWindowsRegKey.h
Observer.h Bug 1469914 - Prevent the HAL from registering duplicate observers; r=froydnj 2018-06-22 00:35:08 +02:00
PerfectHash.h Bug 1500927 - Add copy-free jsstring support to perfecthash.py, r=bzbarsky 2018-10-24 20:11:01 -04:00
PLDHashTable.cpp Bug 1460674 - part 3 - make PLDHashTable iteration faster; r=njn 2018-11-26 16:24:50 -05:00
PLDHashTable.h Bug 1460674 - part 3 - make PLDHashTable iteration faster; r=njn 2018-11-26 16:24:50 -05:00
SimpleEnumerator.h Bug 1484373: Follow-up: Fix missed review comment. r=froydnj (implied) 2018-08-24 22:31:10 -07:00
StaticAtoms.py Bug 1508142 - Remove remains of tree cell-based selection code. r=bzbarsky,bgrins 2018-11-22 09:59:02 +00:00
StickyTimeDuration.h
Tokenizer.cpp Bug 1463786 - Make mozilla::Tokenizer work also with char16_t, r=froydnj 2018-05-31 03:40:00 +03:00
Tokenizer.h Bug 1463786 - Make mozilla::Tokenizer work also with char16_t, r=froydnj 2018-05-31 03:40:00 +03:00