X-Git-Url: http://plrg.eecs.uci.edu/git/?p=folly.git;a=blobdiff_plain;f=folly%2FArena.h;h=f70988f0da0089be907cac108a55f2f4717c7701;hp=3aeffc33575317345fb65098df7ae5681b499d92;hb=1672380910a8c21cd36095661eb1360f43c93332;hpb=377e3f4cb4f599e01a897cf761d05c3ffa25b511 diff --git a/folly/Arena.h b/folly/Arena.h index 3aeffc33..f70988f0 100644 --- a/folly/Arena.h +++ b/folly/Arena.h @@ -1,5 +1,5 @@ /* - * Copyright 2014 Facebook, Inc. + * Copyright 2017 Facebook, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,7 +14,7 @@ * limitations under the License. */ -#ifndef FOLLY_ARENA_H_ +#pragma once #define FOLLY_ARENA_H_ #include @@ -99,7 +99,7 @@ class Arena { return r; } - void deallocate(void* p) { + void deallocate(void* /* p */) { // Deallocate? Never! } @@ -119,7 +119,6 @@ class Arena { return bytesUsed_; } - private: // not copyable Arena(const Arena&) = delete; Arena& operator=(const Arena&) = delete; @@ -128,11 +127,12 @@ class Arena { Arena(Arena&&) = default; Arena& operator=(Arena&&) = default; + private: struct Block; typedef boost::intrusive::slist_member_hook< boost::intrusive::tag> BlockLink; - struct Block { + struct FOLLY_ALIGNED_MAX Block { BlockLink link; // Allocate a block with at least size bytes of storage. @@ -148,11 +148,9 @@ class Arena { } private: - Block() { } - ~Block() { } - } __attribute__((__aligned__)); - // This should be alignas(std::max_align_t) but neither alignas nor - // max_align_t are supported by gcc 4.6.2. + Block() = default; + ~Block() = default; + }; public: static constexpr size_t kDefaultMinBlockSize = 4096 - sizeof(Block); @@ -217,14 +215,12 @@ struct IsArenaAllocator> : std::true_type { }; */ template struct ArenaAllocatorTraits { - static size_t goodSize(const Alloc& alloc, size_t size) { - return size; - } + static size_t goodSize(const Alloc& /* alloc */, size_t size) { return size; } }; template <> struct ArenaAllocatorTraits { - static size_t goodSize(const SysAlloc& alloc, size_t size) { + static size_t goodSize(const SysAlloc& /* alloc */, size_t size) { return goodMallocSize(size); } }; @@ -247,5 +243,3 @@ struct IsArenaAllocator : std::true_type { }; } // namespace folly #include - -#endif /* FOLLY_ARENA_H_ */