free -> reset
The C++ standard library uses ".reset()" where we sometimes write ".free()".
We also use ".reset()" quite a lot. This standardizes on ".reset()".
This is one more step towards dropping SkAutoTDelete in favor of the standard
std::unique_ptr.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1811723002
Review URL: https://codereview.chromium.org/1811723002
diff --git a/bench/GrMemoryPoolBench.cpp b/bench/GrMemoryPoolBench.cpp
index 3efe653..f1872fc 100644
--- a/bench/GrMemoryPoolBench.cpp
+++ b/bench/GrMemoryPoolBench.cpp
@@ -117,7 +117,7 @@
if (nullptr == objects[idx].get()) {
objects[idx].reset(new B);
} else {
- objects[idx].free();
+ objects[idx].reset();
}
}
}
diff --git a/dm/DMSrcSink.cpp b/dm/DMSrcSink.cpp
index 27cb6aa..e9211e5 100644
--- a/dm/DMSrcSink.cpp
+++ b/dm/DMSrcSink.cpp
@@ -1411,7 +1411,7 @@
}
mojoPicture = SkMojo::FlattenedPicture::New();
mojoPicture->Deserialize(storage.get());
- storage.free();
+ storage.reset();
if (!mojoPicture) {
return "SkMojo::FlattenedPicture::Deserialize failed";
}
diff --git a/include/core/SkTypes.h b/include/core/SkTypes.h
index 27280d4..1051f08 100644
--- a/include/core/SkTypes.h
+++ b/include/core/SkTypes.h
@@ -519,7 +519,7 @@
/** Free the current buffer, and set the internal reference to NULL. Same
as calling sk_free(release())
*/
- void free() {
+ void reset() {
sk_free(fPtr);
fPtr = NULL;
}
@@ -571,7 +571,7 @@
/**
* Reallocates the block to a new size. The ptr may or may not change.
*/
- void* reset(size_t size, OnShrink shrink = kAlloc_OnShrink, bool* didChangeAlloc = NULL) {
+ void* reset(size_t size = 0, OnShrink shrink = kAlloc_OnShrink, bool* didChangeAlloc = NULL) {
if (size == fSize || (kReuse_OnShrink == shrink && size < fSize)) {
if (didChangeAlloc) {
*didChangeAlloc = false;
@@ -590,13 +590,6 @@
}
/**
- * Releases the block back to the heap
- */
- void free() {
- this->reset(0);
- }
-
- /**
* Return the allocated block.
*/
void* get() { return fPtr; }
diff --git a/include/private/SkTemplates.h b/include/private/SkTemplates.h
index d83ffc8..e8fbfd5 100644
--- a/include/private/SkTemplates.h
+++ b/include/private/SkTemplates.h
@@ -96,7 +96,6 @@
SkAutoTDelete(T* obj = NULL) : std::unique_ptr<T>(obj) {}
operator T*() const { return this->get(); }
- void free() { this->reset(nullptr); }
#if defined(SK_BUILD_FOR_ANDROID_FRAMEWORK)
// Need to update graphics/BitmapRegionDecoder.cpp.
@@ -110,8 +109,6 @@
template <typename T> class SkAutoTDeleteArray : public std::unique_ptr<T[]> {
public:
SkAutoTDeleteArray(T array[]) : std::unique_ptr<T[]>(array) {}
-
- void free() { this->reset(nullptr); }
};
/** Allocate an array of T elements, and free the array in the destructor
@@ -286,9 +283,9 @@
}
/** Resize the memory area pointed to by the current ptr without preserving contents. */
- T* reset(size_t count) {
+ T* reset(size_t count = 0) {
sk_free(fPtr);
- fPtr = (T*)sk_malloc_flags(count * sizeof(T), SK_MALLOC_THROW);
+ fPtr = count ? (T*)sk_malloc_flags(count * sizeof(T), SK_MALLOC_THROW) : nullptr;
return fPtr;
}
@@ -311,13 +308,6 @@
}
/**
- * Releases the block back to the heap
- */
- void free() {
- this->reset(0);
- }
-
- /**
* Transfer ownership of the ptr to the caller, setting the internal
* pointer to NULL. Note that this differs from get(), which also returns
* the pointer, but it does not transfer ownership.
diff --git a/src/codec/SkBmpCodec.cpp b/src/codec/SkBmpCodec.cpp
index 32f1d15..e327f79 100644
--- a/src/codec/SkBmpCodec.cpp
+++ b/src/codec/SkBmpCodec.cpp
@@ -392,7 +392,7 @@
alphaType = kUnpremul_SkAlphaType;
}
}
- iBuffer.free();
+ iBuffer.reset();
// Additionally, 32 bit bmp-in-icos use the alpha channel.
// FIXME (msarett): Don't all bmp-in-icos use the alpha channel?
diff --git a/src/codec/SkJpegCodec.cpp b/src/codec/SkJpegCodec.cpp
index 2534a5f..a342cd8 100644
--- a/src/codec/SkJpegCodec.cpp
+++ b/src/codec/SkJpegCodec.cpp
@@ -413,7 +413,7 @@
// Remove objects used for sampling.
fSwizzler.reset(nullptr);
fSrcRow = nullptr;
- fStorage.free();
+ fStorage.reset();
// Now, given valid output dimensions, we can start the decompress
if (!jpeg_start_decompress(fDecoderMgr->dinfo())) {
diff --git a/src/codec/SkRawCodec.cpp b/src/codec/SkRawCodec.cpp
index 208bd89..3b7b9a9 100644
--- a/src/codec/SkRawCodec.cpp
+++ b/src/codec/SkRawCodec.cpp
@@ -381,7 +381,7 @@
if (fStream->getMemoryBase()) { // directly copy if getMemoryBase() is available.
SkAutoTUnref<SkData> data(SkData::NewWithCopy(
static_cast<const uint8_t*>(fStream->getMemoryBase()) + offset, bytesToRead));
- fStream.free();
+ fStream.reset();
return new SkMemoryStream(data);
} else {
SkAutoTUnref<SkData> data(SkData::NewUninitialized(bytesToRead));
diff --git a/src/core/SkAdvancedTypefaceMetrics.cpp b/src/core/SkAdvancedTypefaceMetrics.cpp
index b5b49e3..28079f9 100644
--- a/src/core/SkAdvancedTypefaceMetrics.cpp
+++ b/src/core/SkAdvancedTypefaceMetrics.cpp
@@ -245,7 +245,7 @@
if (curRange->fStartId == lastIndex) {
SkASSERT(prevRange);
SkASSERT(prevRange->fNext->fStartId == lastIndex);
- prevRange->fNext.free();
+ prevRange->fNext.reset();
} else {
finishRange(curRange, lastIndex - 1,
SkAdvancedTypefaceMetrics::WidthRange::kRange);
diff --git a/src/core/SkAdvancedTypefaceMetrics.h b/src/core/SkAdvancedTypefaceMetrics.h
index 92655d2..424e5f3 100644
--- a/src/core/SkAdvancedTypefaceMetrics.h
+++ b/src/core/SkAdvancedTypefaceMetrics.h
@@ -28,13 +28,12 @@
T* get() const { return fPtr; }
T* operator->() const { return fPtr; }
- void reset(T* ptr) {
+ void reset(T* ptr = nullptr) {
if (ptr != fPtr) {
delete fPtr;
fPtr = ptr;
}
}
- void free() { this->reset(nullptr); }
T* release() {
T* ptr = fPtr;
fPtr = nullptr;
diff --git a/src/gpu/GrGlyph.h b/src/gpu/GrGlyph.h
index 55e925f..fb998a4 100644
--- a/src/gpu/GrGlyph.h
+++ b/src/gpu/GrGlyph.h
@@ -28,7 +28,7 @@
kCoverage_MaskStyle,
kDistance_MaskStyle
};
-
+
typedef uint32_t PackedID;
GrBatchAtlas::AtlasID fID;
@@ -49,7 +49,7 @@
fTooLargeForAtlas = GrBatchAtlas::GlyphTooLargeForAtlas(bounds.width(), bounds.height());
}
- void free() {
+ void reset() {
if (fPath) {
delete fPath;
fPath = nullptr;
@@ -86,7 +86,7 @@
static inline MaskStyle UnpackMaskStyle(PackedID packed) {
return ((packed >> 20) & 1) ? kDistance_MaskStyle : kCoverage_MaskStyle;
}
-
+
static inline uint16_t UnpackID(PackedID packed) {
return (uint16_t)packed;
}
diff --git a/src/gpu/GrLayerCache.cpp b/src/gpu/GrLayerCache.cpp
index c2facbb..3c7ab88 100644
--- a/src/gpu/GrLayerCache.cpp
+++ b/src/gpu/GrLayerCache.cpp
@@ -98,7 +98,7 @@
SkASSERT(0 == fPictureHash.count());
// The atlas only lets go of its texture when the atlas is deleted.
- fAtlas.free();
+ fAtlas.reset();
}
void GrLayerCache::initAtlas() {
diff --git a/src/gpu/text/GrBatchFontCache.cpp b/src/gpu/text/GrBatchFontCache.cpp
index d99df1d..97c55e2 100644
--- a/src/gpu/text/GrBatchFontCache.cpp
+++ b/src/gpu/text/GrBatchFontCache.cpp
@@ -165,7 +165,7 @@
GrBatchTextStrike::~GrBatchTextStrike() {
SkTDynamicHash<GrGlyph, GrGlyph::PackedID>::Iter iter(&fCache);
while (!iter.done()) {
- (*iter).free();
+ (*iter).reset();
++iter;
}
}
diff --git a/src/images/SkImageDecoder_libwebp.cpp b/src/images/SkImageDecoder_libwebp.cpp
index 5253577..2db08ce 100644
--- a/src/images/SkImageDecoder_libwebp.cpp
+++ b/src/images/SkImageDecoder_libwebp.cpp
@@ -224,7 +224,7 @@
break;
}
} while (VP8_STATUS_OK != status);
- srcStorage.free();
+ srcStorage.reset();
WebPIDelete(idec);
WebPFreeDecBuffer(&config->output);
diff --git a/src/pdf/SkPDFDevice.cpp b/src/pdf/SkPDFDevice.cpp
index 94a103a..443bb1a 100644
--- a/src/pdf/SkPDFDevice.cpp
+++ b/src/pdf/SkPDFDevice.cpp
@@ -732,9 +732,9 @@
}
void SkPDFDevice::init() {
- fContentEntries.free();
+ fContentEntries.reset();
fLastContentEntry = nullptr;
- fMarginContentEntries.free();
+ fMarginContentEntries.reset();
fLastMarginContentEntry = nullptr;
fDrawingArea = kContent_DrawingArea;
if (fFontGlyphUsage.get() == nullptr) {
diff --git a/src/utils/SkBitSet.cpp b/src/utils/SkBitSet.cpp
index 3ace15d..985bb6e 100755
--- a/src/utils/SkBitSet.cpp
+++ b/src/utils/SkBitSet.cpp
@@ -27,7 +27,7 @@
return *this;
}
fBitCount = rhs.fBitCount;
- fBitData.free();
+ fBitData.reset();
fDwordCount = rhs.fDwordCount;
fBitData.set(sk_malloc_throw(fDwordCount * sizeof(uint32_t)));
memcpy(fBitData.get(), rhs.fBitData.get(), fDwordCount * sizeof(uint32_t));
diff --git a/src/xml/SkDOM.cpp b/src/xml/SkDOM.cpp
index 0f0b614..8b55f6c 100644
--- a/src/xml/SkDOM.cpp
+++ b/src/xml/SkDOM.cpp
@@ -374,7 +374,7 @@
const SkDOM::Node* SkDOM::finishParsing() {
SkASSERT(fParser);
fRoot = fParser->getRoot();
- fParser.free();
+ fParser.reset();
return fRoot;
}