Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(636)

Unified Diff: src/lazy/SkPurgeableMemoryBlock.h

Issue 219133004: Purge SkPurgeableMemoryBlock. (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Rebase Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « gyp/ports.gyp ('k') | src/lazy/SkPurgeableMemoryBlock_common.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/lazy/SkPurgeableMemoryBlock.h
diff --git a/src/lazy/SkPurgeableMemoryBlock.h b/src/lazy/SkPurgeableMemoryBlock.h
deleted file mode 100644
index 1750ad9d6cd59029aca960dcb92282c9f7ae8393..0000000000000000000000000000000000000000
--- a/src/lazy/SkPurgeableMemoryBlock.h
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Copyright 2013 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#ifndef SkPurgeableMemoryBlock_DEFINED
-#define SkPurgeableMemoryBlock_DEFINED
-
-#include "SkTypes.h"
-
-class SkPurgeableMemoryBlock : public SkNoncopyable {
-
-public:
- /**
- * Whether or not this platform has an implementation for purgeable memory.
- */
- static bool IsSupported();
-
- /**
- * Create a new purgeable memory block of 'size' bytes. Returns NULL if not supported on this
- * platform or on failure.
- * @param size Number of bytes requested.
- * @return A new block, or NULL on failure.
- */
- static SkPurgeableMemoryBlock* Create(size_t size);
-
-#ifdef SK_DEBUG
- /**
- * Whether the platform supports one shot purge of all unpinned blocks. If so,
- * PurgeAllUnpinnedBlocks will be used to test a purge. Otherwise, purge will be called on
- * individual blocks.
- */
- static bool PlatformSupportsPurgingAllUnpinnedBlocks();
-
- /**
- * Purge all unpinned blocks at once, if the platform supports it.
- */
- static bool PurgeAllUnpinnedBlocks();
-
- // If PlatformSupportsPurgingAllUnpinnedBlocks returns true, this will not be called, so it can
- // simply return false.
- bool purge();
-
- bool isPinned() const { return fPinned; }
-#endif
-
- ~SkPurgeableMemoryBlock();
-
- /**
- * Output parameter for pin(), stating whether the data has been retained.
- */
- enum PinResult {
- /**
- * The data has been purged, or this is the first call to pin.
- */
- kUninitialized_PinResult,
-
- /**
- * The data has been retained. The memory contains the same data it held when unpin() was
- * called.
- */
- kRetained_PinResult,
- };
-
- /**
- * Pin the memory for use. Must not be called while already pinned.
- * @param PinResult Whether the data was retained. Ignored on failure.
- * @return Pointer to the pinned data on success. NULL on failure.
- */
- void* pin(PinResult*);
-
- /**
- * Unpin the data so it can be purged if necessary.
- */
- void unpin();
-
-private:
- void* fAddr;
- size_t fSize;
- bool fPinned;
-#ifdef SK_BUILD_FOR_ANDROID
- int fFD;
-#endif
-
- // Unimplemented default constructor is private, to prevent manual creation.
- SkPurgeableMemoryBlock();
-
- // The correct way to create a new one is from the static Create.
- SkPurgeableMemoryBlock(size_t);
-};
-
-#endif // SkPurgeableMemoryBlock_DEFINED
« no previous file with comments | « gyp/ports.gyp ('k') | src/lazy/SkPurgeableMemoryBlock_common.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698