gecko-dev/mfbt
Nicholas Nethercote dcd7d4327c Bug 1481138 - Clarify that Hash{Map,Set}::putNew() can be used if elements have been removed. r=luke
Hash{Map,Set}::putNew() can be used on a table that has had elements removed,
despite some comments to the contrary.

This patch fixes those comments. It also clarifies when putNewInfallible() can
be used.

This patch also removes the !isRemoved() assertion in findFreeEntry(), which is
confusing -- !isLive() would be more precise, but also obvious from the
surrounding code.

MozReview-Commit-ID: q4qwKGBsHx

--HG--
extra : rebase_source : 94331879f9a1484159e030de93bd0ab222b54385
2018-08-06 12:01:28 +10:00
..
decimal Bug 1438750 - Remove mfbt/double-conversion.h, and change existing users to instead do #include "double-conversion/double-conversion.h" themselves. r=froydnj on a CLOSED TREE 2018-02-21 10:15:43 +02:00
double-conversion Bug 1465808 - Update double-conversion to latest upstream. rs=froydnj 2018-06-12 22:12:42 -07:00
tests Bug 1445659 - Make it possible to store RefPtr<T> in AutoCleanLinkedList. r=froydnj 2018-06-13 06:25:00 +03:00
Algorithm.h Bug 1449094 - Implement constexpr mozilla::AllOf. r=froydnj 2018-03-28 00:01:08 +09:00
Alignment.h Bug 1435382 - fix documentation for AlignedElem; r=me 2018-02-02 15:24:51 -05:00
AllocPolicy.h Bug 1309552 - Specify buffer size when freeing data in AllocPolicy, r=waldo. 2018-07-20 23:58:34 +00:00
AlreadyAddRefed.h Bug 1470641 - Update already_AddRefed constructor comment. r=froydnj 2018-06-22 23:25:19 -07:00
Array.h Bug 1466168: Remove mozilla::Forward in favor of std::forward. r=froydnj 2018-06-02 09:33:26 +02:00
ArrayUtils.h Bug 1470985 - s/PodEqual/ArrayEqual/ from ArrayUtils.h. - r=waldo 2018-07-27 14:11:18 -07:00
Assertions.cpp Bug 1465452 Part 6 - Don't record assertion crashing flag, r=froydnj. 2018-07-21 14:31:21 +00:00
Assertions.h Bug 1447480 - Add support of MOZ_FALLTHROUGH_ASSERT without any argument r=hsivonen 2018-04-05 11:42:23 +02:00
Atomics.h Bug 1207696 Part 2a - Atomics interface changes, r=waldo. 2018-07-21 14:17:16 +00:00
Attributes.h Bug 1451248. r=jorendorff, r=bz 2018-04-25 19:40:09 -07:00
BinarySearch.h
BloomFilter.h
BufferList.h Bug 1465287 Part 9 - Allow copying IPDL messages, r=froydnj. 2018-07-22 11:53:23 +00:00
Casting.h Bug 1465981 - Use memcpy instead of union-arm-punning (which has implementation-defined, desired behavior with gcc and presumably clang, and is not known to have problems on MSVC, but potentially could with other compilers) in BitwiseCast. r=froydnj 2018-06-06 16:03:47 -07:00
ChaosMode.cpp Bug 1207696 Part 4h - Don't record chaos mode counters, r=froydnj. 2018-07-21 14:25:36 +00:00
ChaosMode.h Bug 1207696 Part 4h - Don't record chaos mode counters, r=froydnj. 2018-07-21 14:25:36 +00:00
Char16.h Bug 1428541 - Make char16ptr_t::operator bool() explicit. r=froydnj 2017-12-24 23:33:56 +09:00
CheckedInt.h Bug 1356936 - Use __builtin_add/sub/mul_overflow() where available to optimize CheckedInt. r=waldo,ehsan 2017-09-21 18:24:10 +02:00
Compiler.h
Compression.cpp Bug 1416183 - Build LZ4 as C instead of including it as C++. r=froydnj 2017-11-15 12:51:01 +09:00
Compression.h Bug 1396026 - Update OTS to accept Awami Nastaliq. r=froydnj,jfkthame 2017-09-07 10:40:59 -07:00
DebugOnly.h
DefineEnum.h
DoublyLinkedList.h Bug 1396723 - Use DoublyLinkedList in mozjemalloc. r=froydnj 2017-09-02 08:55:42 +09:00
EndianUtils.h Bug 1480581 - add an AArch64-specific case to EndianUtils.h; r=Waldo 2018-08-03 18:07:34 -04:00
EnumSet.h Backed out 4 changesets (bug 525063) on request from Andi. a=backout 2018-04-13 16:01:28 +03:00
EnumTypeTraits.h Bug 1427229 - Perform validation when sending an EnumSet over IPC. r=botond,froydnj 2018-01-21 21:23:21 +01:00
EnumeratedArray.h Bug 1466168: Remove mozilla::Forward in favor of std::forward. r=froydnj 2018-06-02 09:33:26 +02:00
EnumeratedRange.h
FStream.h Bug 1471177 - Use mingw-specific IFStream and OFStream implementation only when building againstd libstdc++. r=froydnj 2018-06-26 13:06:17 +02:00
FastBernoulliTrial.h
FloatingPoint.cpp Bug 1438212 - Implement mozilla::IsFloat32Representable using an algorithm that handles NaN correctly and doesn't sometimes invoke undefined behavior. r=froydnj 2018-06-06 16:03:47 -07:00
FloatingPoint.h Bug 1438212 - Implement mozilla::IsFloat32Representable using an algorithm that handles NaN correctly and doesn't sometimes invoke undefined behavior. r=froydnj 2018-06-06 16:03:47 -07:00
GuardObjects.h Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj 2018-06-01 10:45:27 +02:00
HashFunctions.cpp
HashFunctions.h Bug 1480660 - Remove ConstExprHash{UntilZero,String}(). r=froydnj 2018-08-03 14:47:41 +10:00
HashTable.h Bug 1481138 - Clarify that Hash{Map,Set}::putNew() can be used if elements have been removed. r=luke 2018-08-06 12:01:28 +10:00
IntegerPrintfMacros.h
IntegerRange.h
IntegerTypeTraits.h
JSONWriter.cpp
JSONWriter.h Bug 1474701: Fix shutdown profile-save (fix imbalance) and add JSONWriter assertions r=mstange,njn 2018-08-06 10:44:26 -04:00
Likely.h
LinkedList.h Bug 1445659 - Make it possible to store RefPtr<T> in AutoCleanLinkedList. r=froydnj 2018-06-13 06:25:00 +03:00
LinuxSignal.h Backed out changeset 98e368b5c4be (bug 1463035) for failures in tools/profiler/tests/chrome/test_profile_worker.html on a CLOSED TREE 2018-05-22 03:16:44 +03:00
MacroArgs.h
MacroForEach.h
MathAlgorithms.h Bug 1480577 - add AArch64-specific cases for MathUtils.h bitscan functionality; r=Waldo 2018-08-03 18:07:34 -04:00
Maybe.h Bug 1441059 - Add cycle collection implementations for Maybe. r=bz 2018-07-17 10:34:58 -05:00
MaybeOneOf.h Bug 1466168: Remove mozilla::Forward in favor of std::forward. r=froydnj 2018-06-02 09:33:26 +02:00
MemoryChecking.h Bug 1306642 - Temporarily allow warnings from MemoryChecking.h. r=dmajor 2018-08-04 17:25:11 +09:00
MemoryReporting.h
Move.h Bug 1466168: Remove mozilla::Forward in favor of std::forward. r=froydnj 2018-06-02 09:33:26 +02:00
NonDereferenceable.h Bug 1448494 - NonDereferenceable<T> wraps a T* and prevents dereferencing ops - r=froydnj 2018-03-28 17:48:53 +11:00
NotNull.h Bug 1466168: Remove mozilla::Forward in favor of std::forward. r=froydnj 2018-06-02 09:33:26 +02:00
NullPtr.h
Opaque.h
OperatorNewExtensions.h
Pair.h Bug 1466168: Remove mozilla::Forward in favor of std::forward. r=froydnj 2018-06-02 09:33:26 +02:00
Path.h Bug 1428543 - Add mozilla::filesystem::Path and use it in nsIFile. r=froydnj 2017-12-28 03:03:35 +09:00
PodOperations.h Bug 1470985 - s/PodEqual/ArrayEqual/ from ArrayUtils.h. - r=waldo 2018-07-27 14:11:18 -07:00
Poison.cpp
Poison.h Bug 1467048 - Add a version of CorruptionCanary for statics. r=froydnj 2018-06-06 14:50:17 -07:00
Range.h
RangedArray.h
RangedPtr.h Bug 1470365: Part 1 - Add a compact, read-only, shared-memory string map class. r=erahm 2018-06-29 22:50:41 -07:00
RecordReplay.cpp Bug 1479058 Part 1 - Add NewTimeWarpTarget() API, r=mccr8. 2018-08-02 23:26:25 +00:00
RecordReplay.h Bug 1479058 Part 1 - Add NewTimeWarpTarget() API, r=mccr8. 2018-08-02 23:26:25 +00:00
ReentrancyGuard.h
RefCountType.h
RefCounted.h Bug 1207696 Part 4a - Make recording optional in mozilla::RefCounted, r=ehsan. 2018-07-21 14:21:39 +00:00
RefPtr.h Bug 1466168: Remove mozilla::Forward in favor of std::forward. r=froydnj 2018-06-02 09:33:26 +02:00
Result.h Bug 1466168: Remove mozilla::Forward in favor of std::forward. r=froydnj 2018-06-02 09:33:26 +02:00
ResultExtensions.h Bug 1366511: Part 3 - Add mozilla::ToResult() to convert other result types to equivalent Result. r=nbp,ehsan 2017-08-29 21:28:31 -07:00
ReverseIterator.h
RollingMean.h
SHA1.cpp
SHA1.h
SPSCQueue.h Bug 1454385 - Add a single producer single consumer lock and wait free queue to mfbt/. r=froydnj 2018-04-13 17:14:05 +02:00
STYLE
Saturate.h Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj 2018-06-01 10:45:27 +02:00
ScopeExit.h Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj 2018-06-01 10:45:27 +02:00
Scoped.h Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj 2018-06-01 10:45:27 +02:00
SegmentedVector.h Bug 1309552 - Specify buffer size when freeing data in AllocPolicy, r=waldo. 2018-07-20 23:58:34 +00:00
SharedLibrary.h Bug 1442275 - Implement a path charset agnostic wrapper for PR_LoadLibraryWithFlags. r=froydnj 2018-04-24 00:31:53 +09:00
SmallPointerArray.h Bug 1466928 - Make mozilla::SmallPointerArray compatible with the C++ object model. r=froydnj 2018-06-07 03:53:54 -07:00
Span.h Bug 1466475 - Make mozilla::Span produce aligned bogus pointers per new Rust rules. r=froydnj 2018-06-04 12:59:46 +03:00
SplayTree.h bug 1464999 - make SplayTree.remove clear mRight and mLeft r=froydnj 2018-05-29 09:41:24 +02:00
Sprintf.h
StaticAnalysisFunctions.h Bug 1444416: Handle references in the "can run script" checker. r=mystor 2018-03-09 17:51:59 +01:00
TaggedAnonymousMemory.cpp
TaggedAnonymousMemory.h
TemplateLib.h
TextUtils.h Bug 1467336 - Implement mozilla::IsAscii to detect pure ASCII characters. r=froydnj 2018-06-07 02:17:10 -07:00
ThreadLocal.h Bug 1460645 Avoid the thread_local keyword for MinGW and instead use __thread r=froydnj 2018-05-10 11:11:19 -05:00
ThreadSafeWeakPtr.h Bug 1404742 - add ThreadSafeWeakPointer to MFBT. r=nfroyd 2017-10-18 14:21:23 -04:00
ToString.h
Tuple.h Bug 1466168: Remove mozilla::Forward in favor of std::forward. r=froydnj 2018-06-02 09:33:26 +02:00
TypeTraits.h Add support for char32_t to mozilla::IsIntegral. Found in the process of fixing another bug, no bug and r=me as so unbelievably trivial that it can't possibly deserve anything else 2018-07-12 02:26:49 -07:00
TypedEnumBits.h
Types.h Bug 1277338 - Part 7: Export mozglue when JS_STANDALONE && !jemalloc; r=glandium,sfink 2017-08-31 15:59:13 -07:00
UniquePtr.h Bug 1466909 - Use AddLvalueReference for UniquePtr's operator*(). r=froydnj 2018-06-07 07:27:22 -07:00
UniquePtrExtensions.h Bug 1466168: Remove mozilla::Forward in favor of std::forward. r=froydnj 2018-06-02 09:33:26 +02:00
Unused.cpp
Unused.h
Utf8.cpp Bug 1426909 - Abstract out mozilla::DecodeOneUtf8CodePoint for decoding a UTF-8 code point after having consumed a non-ASCII lead unit, with configurable error notification through optional user-provided functors. r=froydnj 2018-07-12 17:41:31 -07:00
Utf8.h Bug 1478587 - Implement mozilla::Utf8AsUnsignedChars to centralize UTF-8-to-unsigned-chars casts and their justifications. r=froydnj 2018-07-26 19:43:33 -07:00
Variant.h Bug 1466168: Remove mozilla::Forward in favor of std::forward. r=froydnj 2018-06-02 09:33:26 +02:00
Vector.h Bug 1309552 - Specify buffer size when freeing data in AllocPolicy, r=waldo. 2018-07-20 23:58:34 +00:00
WeakPtr.h Bug 1384395 - Use nsAutoOwningThread for mfbt/WeakPtr.h thread assertions (r=froydnj) 2017-07-28 13:11:44 -07:00
WindowsVersion.h Bug 1460057: Update WindowsVersion with latest Windows 10 build numbers; r=froydnj 2018-05-07 17:24:51 -06:00
WrappingOperations.h Bug 1443706 - Introduce ConstExprHashString(const char16_t*). r=jwalden 2018-03-08 10:27:14 +11:00
XorShift128PlusRNG.h Bug 1443342 - Remove XorShift128PlusRNG.h from integer-overflow sanitizer blacklisting. r=froydnj 2018-03-06 09:33:52 -08:00
lz4.c Bug 1460316 - Update lz4 to version 1.8.2. r=froydnj 2018-05-09 12:16:28 -04:00
lz4.h Bug 1460316 - Update lz4 to version 1.8.2. r=froydnj 2018-05-09 12:16:28 -04:00
moz.build Bug 1477626 - Move js::Hash{Set,Map} into MFBT. r=Waldo 2018-07-26 20:15:49 +10:00