d9dd428211
The API and implementation are very much simplified. You may not want to bother reading the diff. As is our trend, SkOnce now uses <atomic> directly. Member initialization means we don't need SK_DECLARE_STATIC_ONCE. SkSpinlock already works this same way. All uses of the old API taking an external bool* and Lock* were pessimal, so I have not carried this sort of API forward. It's simpler, faster, and more space-efficient to always use this single SkOnce class interface. SkOnce weighs 2 bytes: a done bool and an SkSpinlock, also a bool internally. This API refactoring opens up the opportunity to fuse those into a single three-state byte if we'd like. No public API changes. TBR=reed@google.com BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1894893002 Review URL: https://codereview.chromium.org/1894893002 |
||
---|---|---|
.. | ||
GrAuditTrail.h | ||
GrSingleOwner.h | ||
SkAtomics.h | ||
SkChecksum.h | ||
SkFixed.h | ||
SkFloatBits.h | ||
SkFloatingPoint.h | ||
SkGpuFenceSync.h | ||
SkMiniRecorder.h | ||
SkMutex.h | ||
SkOnce.h | ||
SkOncePtr.h | ||
SkRecords.h | ||
SkSemaphore.h | ||
SkSpinlock.h | ||
SkTArray.h | ||
SkTDArray.h | ||
SkTDict.h | ||
SkTemplates.h | ||
SkTFitsIn.h | ||
SkTHash.h | ||
SkThreadID.h | ||
SkTLogic.h | ||
SkTSearch.h | ||
SkWeakRefCnt.h |