skia2/include/private
Ben Wagner 51308f145c SkTHashTable assert key self equal.
Add an assert in SkTHashTable::uncheckedSet that each added key is equal
to itself. This is an implied precondition which is easy to get wrong if
the key contains floating point values which may become NaN.

Motivated by https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=30314
which would have been much easier to track down with this assert, since
the issue would have been discovered at insertion instead of much later
on removal.

Change-Id: I4eabb6892d2bff1e7bc33c04fd6b297b189a3b02
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/405695
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2021-05-10 15:51:02 +00:00
..
GrContext_Base.h Replace 'typedef xxxxx INHERITED' with 'using INHERITED = xxxx;'. 2020-09-03 03:41:26 +00:00
GrD3DTypesPriv.h More fixes to get D3D tests running. 2020-04-10 15:19:18 +00:00
GrGLTypesPriv.h Add stencil formats to all the backends. 2020-10-07 17:58:31 +00:00
GrImageContext.h Change PromiseImage API to take GrContextThreadSafeProxy 2021-02-19 21:52:59 +00:00
GrMtlTypesPriv.h Reland "Use objc_externally_retained to cut down retain/release in Metal" 2021-03-30 14:43:15 +00:00
GrResourceKey.h Allow uniqueKey invalidation messages to reach the thread safe cache 2020-10-29 12:36:13 +00:00
GrSharedEnums.h Emit new style key information in generated effects 2021-03-03 20:39:36 +00:00
GrSingleOwner.h Pass file and line number when asserting single owner 2020-06-01 17:10:40 +00:00
GrTypesPriv.h Delete mixed samples 2021-04-22 20:11:34 +00:00
GrVkTypesPriv.h Add GrContext API to allow updating GrBackendSurfaceMutableState. 2020-06-10 13:15:55 +00:00
SkBitmaskEnum.h Fix modifier key handling in OS X to allow command-keys to work. 2020-07-01 16:07:03 +00:00
SkChecksum.h Revert "Revert "gms for SkParagraph"" 2020-06-02 19:26:04 +00:00
SkColorData.h Reland "Simplify GrRTC::clean APIs" 2020-05-27 14:26:16 +00:00
SkDeque.h Replace 'typedef xxxxx INHERITED' with 'using INHERITED = xxxx;'. 2020-09-03 03:41:26 +00:00
SkEncodedInfo.h Enable ClangTidy check readability-redundant-smartptr-get. 2020-08-16 15:56:48 +00:00
SkFixed.h move SkTPin to include/private 2020-10-16 19:45:11 +00:00
SkFloatBits.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkFloatingPoint.h Don't include the intrinsics headers in SkFloatingPoint.h 2021-04-23 17:30:13 +00:00
SkHalf.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkIDChangeListener.h Remove bug-prone SkIDChangeListener singleThreaded arg 2021-02-26 17:05:53 +00:00
SkImageInfoPriv.h Clarify how we decide the bitdepth for picture-shader 2021-03-04 14:28:16 +00:00
SkMacros.h Reland "Add backend texture and backend render target versions snapshot GMs" 2021-02-04 14:30:57 +00:00
SkMalloc.h [fuzz] Standardize, document, and backport fuzzing defines. 2020-09-14 13:36:10 +00:00
SkMutex.h mark SkAutoMutexExclusive unmovable 2021-02-28 16:12:25 +00:00
SkNoncopyable.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkNx_neon.h remove SkNx::rsqrt() 2021-04-14 20:54:08 +00:00
SkNx_sse.h remove SkNx::rsqrt() 2021-04-14 20:54:08 +00:00
SkNx.h remove SkNx::rsqrt() 2021-04-14 20:54:08 +00:00
SkOnce.h experimental support for go/fibers 2019-10-28 16:48:55 +00:00
SkOpts_spi.h Enable ClangTidy check llvm-namespace-comment. 2020-08-06 19:07:52 +00:00
SkPathRef.h Assert that SkPath is always internally consistent 2020-12-09 23:56:17 +00:00
SkSafe32.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkSafe_math.h
SkSemaphore.h Reland "Cache hb_face." 2020-05-19 17:42:14 +00:00
SkShadowFlags.h Add support for directional lights. 2020-12-16 16:58:26 +00:00
SkSLDefines.h Made SkSL DSL into public API 2021-03-04 21:03:58 +00:00
SkSLIRNode.h Fixed an issue with DSL includes 2021-03-09 20:07:00 +00:00
SkSLLayout.h Remove layout(marker) from runtime effect SkSL 2021-04-19 18:48:45 +00:00
SkSLModifiers.h Remove custom SkVertices data and runtime effect varying support 2021-04-19 17:49:25 +00:00
SkSLProgramElement.h Fixed an issue with DSL includes 2021-03-09 20:07:00 +00:00
SkSLProgramKind.h Remove flexible runtime effects entirely 2021-04-29 16:02:27 +00:00
SkSLSampleUsage.h Remove SkSL sample-with-matrix implementation 2021-04-29 12:46:57 +00:00
SkSLStatement.h Fixed an issue with DSL includes 2021-03-09 20:07:00 +00:00
SkSLString.h Replace printf with std::to_string. 2021-03-18 18:00:56 +00:00
SkSLSymbol.h Fixed an issue with DSL includes 2021-03-09 20:07:00 +00:00
SkSpinlock.h Add thread safety annotations. 2019-05-10 13:40:38 +00:00
SkTArray.h Avoid over-allocation in SkTArray assignment and reserve_back. 2020-11-11 17:09:15 +00:00
SkTDArray.h Add explicit int -> size_t casts to SkTDArray.h 2020-12-28 17:23:49 +00:00
SkTemplates.h SkAuto[S]TMalloc only for trivially constructible/destructible. 2021-03-31 13:55:45 +00:00
SkTFitsIn.h Add support for MSVC run-time checks (and control flow guard) 2019-02-04 20:55:24 +00:00
SkTHash.h SkTHashTable assert key self equal. 2021-05-10 15:51:02 +00:00
SkThreadAnnotations.h Add a condition to prevent a thread annotation meant for blaze from showing up to emscripten 2020-02-28 17:57:20 +00:00
SkThreadID.h Mark SkGetThreadID SK_SPI in debug. 2020-07-07 21:50:55 +00:00
SkTLogic.h remove SkMakeSpan use ctor parameter deduction 2020-10-02 01:41:03 +00:00
SkTo.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkTPin.h switch SkTPin impl to pin NaN to lo 2020-10-16 21:08:51 +00:00
SkVx.h macro hygiene in SkVx.h 2020-11-23 22:49:33 +00:00
SkWeakRefCnt.h Replace 'typedef xxxxx INHERITED' with 'using INHERITED = xxxx;'. 2020-09-03 03:41:26 +00:00