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

Unified Diff: third_party/WebKit/Source/wtf/Partitions.h

Issue 1611343002: wtf reformat test Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: pydent Created 4 years, 11 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 | « third_party/WebKit/Source/wtf/PartitionAllocator.cpp ('k') | third_party/WebKit/Source/wtf/Partitions.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/WebKit/Source/wtf/Partitions.h
diff --git a/third_party/WebKit/Source/wtf/Partitions.h b/third_party/WebKit/Source/wtf/Partitions.h
index 5651c2b870effe6fbb3128125e9ac48c450560d7..1127e1c66a4ca5a75e48201fb510d5e5ac59a98c 100644
--- a/third_party/WebKit/Source/wtf/Partitions.h
+++ b/third_party/WebKit/Source/wtf/Partitions.h
@@ -39,116 +39,105 @@
namespace WTF {
class WTF_EXPORT Partitions {
-public:
- // Name of allocator used by tracing for marking sub-allocations while take
- // memory snapshots.
- static const char* const kAllocatedObjectPoolName;
-
- static void initialize(HistogramEnumerationFunction);
- static void shutdown();
- ALWAYS_INLINE static PartitionRootGeneric* bufferPartition()
- {
- ASSERT(s_initialized);
- return m_bufferAllocator.root();
- }
-
- ALWAYS_INLINE static PartitionRootGeneric* fastMallocPartition()
- {
- ASSERT(s_initialized);
- return m_fastMallocAllocator.root();
- }
-
- ALWAYS_INLINE static PartitionRoot* nodePartition()
- {
- ASSERT(s_initialized);
- return m_nodeAllocator.root();
- }
- ALWAYS_INLINE static PartitionRoot* layoutPartition()
- {
- ASSERT(s_initialized);
- return m_layoutAllocator.root();
- }
-
- static size_t currentDOMMemoryUsage()
- {
- ASSERT(s_initialized);
- return m_nodeAllocator.root()->totalSizeOfCommittedPages;
- }
-
- static size_t totalSizeOfCommittedPages()
- {
- size_t totalSize = 0;
- totalSize += m_fastMallocAllocator.root()->totalSizeOfCommittedPages;
- totalSize += m_bufferAllocator.root()->totalSizeOfCommittedPages;
- totalSize += m_nodeAllocator.root()->totalSizeOfCommittedPages;
- totalSize += m_layoutAllocator.root()->totalSizeOfCommittedPages;
- return totalSize;
- }
-
- static void decommitFreeableMemory();
-
- static void reportMemoryUsageHistogram();
-
- static void dumpMemoryStats(bool isLightDump, PartitionStatsDumper*);
-
- ALWAYS_INLINE static void* bufferMalloc(size_t n, const char* typeName)
- {
- return partitionAllocGeneric(bufferPartition(), n, typeName);
- }
- ALWAYS_INLINE static void bufferFree(void* p)
- {
- partitionFreeGeneric(bufferPartition(), p);
- }
- ALWAYS_INLINE static size_t bufferActualSize(size_t n)
- {
- return partitionAllocActualSize(bufferPartition(), n);
- }
- static void* fastMalloc(size_t n, const char* typeName)
- {
- return partitionAllocGeneric(Partitions::fastMallocPartition(), n, typeName);
- }
- static void* fastZeroedMalloc(size_t n, const char* typeName)
- {
- void* result = fastMalloc(n, typeName);
- memset(result, 0, n);
- return result;
- }
- static void* fastRealloc(void* p, size_t n, const char* typeName)
- {
- return partitionReallocGeneric(Partitions::fastMallocPartition(), p, n, typeName);
- }
- static void fastFree(void* p)
- {
- partitionFreeGeneric(Partitions::fastMallocPartition(), p);
- }
-
- static void handleOutOfMemory();
-
-private:
- static SpinLock s_initializationLock;
- static bool s_initialized;
-
- // We have the following four partitions.
- // - Node partition: A partition to allocate Nodes. We prepare a
- // dedicated partition for Nodes because Nodes are likely to be
- // a source of use-after-frees. Another reason is for performance:
- // Since Nodes are guaranteed to be used only by the main
- // thread, we can bypass acquiring a lock. Also we can improve memory
- // locality by putting Nodes together.
- // - Layout object partition: A partition to allocate LayoutObjects.
- // we prepare a dedicated partition for the same reason as Nodes.
- // - Buffer partition: A partition to allocate objects that have a strong
- // risk where the length and/or the contents are exploited from user
- // scripts. Vectors, HashTables, ArrayBufferContents and Strings are
- // allocated in the buffer partition.
- // - Fast malloc partition: A partition to allocate all other objects.
- static PartitionAllocatorGeneric m_fastMallocAllocator;
- static PartitionAllocatorGeneric m_bufferAllocator;
- static SizeSpecificPartitionAllocator<3328> m_nodeAllocator;
- static SizeSpecificPartitionAllocator<1024> m_layoutAllocator;
- static HistogramEnumerationFunction m_histogramEnumeration;
+ public:
+ // Name of allocator used by tracing for marking sub-allocations while take
+ // memory snapshots.
+ static const char* const kAllocatedObjectPoolName;
+
+ static void initialize(HistogramEnumerationFunction);
+ static void shutdown();
+ ALWAYS_INLINE static PartitionRootGeneric* bufferPartition() {
+ ASSERT(s_initialized);
+ return m_bufferAllocator.root();
+ }
+
+ ALWAYS_INLINE static PartitionRootGeneric* fastMallocPartition() {
+ ASSERT(s_initialized);
+ return m_fastMallocAllocator.root();
+ }
+
+ ALWAYS_INLINE static PartitionRoot* nodePartition() {
+ ASSERT(s_initialized);
+ return m_nodeAllocator.root();
+ }
+ ALWAYS_INLINE static PartitionRoot* layoutPartition() {
+ ASSERT(s_initialized);
+ return m_layoutAllocator.root();
+ }
+
+ static size_t currentDOMMemoryUsage() {
+ ASSERT(s_initialized);
+ return m_nodeAllocator.root()->totalSizeOfCommittedPages;
+ }
+
+ static size_t totalSizeOfCommittedPages() {
+ size_t totalSize = 0;
+ totalSize += m_fastMallocAllocator.root()->totalSizeOfCommittedPages;
+ totalSize += m_bufferAllocator.root()->totalSizeOfCommittedPages;
+ totalSize += m_nodeAllocator.root()->totalSizeOfCommittedPages;
+ totalSize += m_layoutAllocator.root()->totalSizeOfCommittedPages;
+ return totalSize;
+ }
+
+ static void decommitFreeableMemory();
+
+ static void reportMemoryUsageHistogram();
+
+ static void dumpMemoryStats(bool isLightDump, PartitionStatsDumper*);
+
+ ALWAYS_INLINE static void* bufferMalloc(size_t n, const char* typeName) {
+ return partitionAllocGeneric(bufferPartition(), n, typeName);
+ }
+ ALWAYS_INLINE static void bufferFree(void* p) {
+ partitionFreeGeneric(bufferPartition(), p);
+ }
+ ALWAYS_INLINE static size_t bufferActualSize(size_t n) {
+ return partitionAllocActualSize(bufferPartition(), n);
+ }
+ static void* fastMalloc(size_t n, const char* typeName) {
+ return partitionAllocGeneric(Partitions::fastMallocPartition(), n,
+ typeName);
+ }
+ static void* fastZeroedMalloc(size_t n, const char* typeName) {
+ void* result = fastMalloc(n, typeName);
+ memset(result, 0, n);
+ return result;
+ }
+ static void* fastRealloc(void* p, size_t n, const char* typeName) {
+ return partitionReallocGeneric(Partitions::fastMallocPartition(), p, n,
+ typeName);
+ }
+ static void fastFree(void* p) {
+ partitionFreeGeneric(Partitions::fastMallocPartition(), p);
+ }
+
+ static void handleOutOfMemory();
+
+ private:
+ static SpinLock s_initializationLock;
+ static bool s_initialized;
+
+ // We have the following four partitions.
+ // - Node partition: A partition to allocate Nodes. We prepare a
+ // dedicated partition for Nodes because Nodes are likely to be
+ // a source of use-after-frees. Another reason is for performance:
+ // Since Nodes are guaranteed to be used only by the main
+ // thread, we can bypass acquiring a lock. Also we can improve memory
+ // locality by putting Nodes together.
+ // - Layout object partition: A partition to allocate LayoutObjects.
+ // we prepare a dedicated partition for the same reason as Nodes.
+ // - Buffer partition: A partition to allocate objects that have a strong
+ // risk where the length and/or the contents are exploited from user
+ // scripts. Vectors, HashTables, ArrayBufferContents and Strings are
+ // allocated in the buffer partition.
+ // - Fast malloc partition: A partition to allocate all other objects.
+ static PartitionAllocatorGeneric m_fastMallocAllocator;
+ static PartitionAllocatorGeneric m_bufferAllocator;
+ static SizeSpecificPartitionAllocator<3328> m_nodeAllocator;
+ static SizeSpecificPartitionAllocator<1024> m_layoutAllocator;
+ static HistogramEnumerationFunction m_histogramEnumeration;
};
-} // namespace WTF
+} // namespace WTF
-#endif // Partitions_h
+#endif // Partitions_h
« no previous file with comments | « third_party/WebKit/Source/wtf/PartitionAllocator.cpp ('k') | third_party/WebKit/Source/wtf/Partitions.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698