diff options
| author | Pieter Wuille <[email protected]> | 2016-12-01 16:14:45 -0800 |
|---|---|---|
| committer | Pieter Wuille <[email protected]> | 2016-12-01 16:14:45 -0800 |
| commit | 605d701471c3ee84682b0c149e41142d7cea95e7 (patch) | |
| tree | 7a6af0e78ee2202f510686e9a3561c28829b8a4b /src/leveldb/util/arena.cc | |
| parent | Merge #9183: Final Preparation for main.cpp Split (diff) | |
| parent | Squashed 'src/leveldb/' changes from 20ca81f..a31c8aa (diff) | |
| download | discoin-605d701471c3ee84682b0c149e41142d7cea95e7.tar.xz discoin-605d701471c3ee84682b0c149e41142d7cea95e7.zip | |
Merge in LevelDB 1.19 changes
Diffstat (limited to 'src/leveldb/util/arena.cc')
| -rw-r--r-- | src/leveldb/util/arena.cc | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/leveldb/util/arena.cc b/src/leveldb/util/arena.cc index 9367f7149..74078213e 100644 --- a/src/leveldb/util/arena.cc +++ b/src/leveldb/util/arena.cc @@ -9,8 +9,7 @@ namespace leveldb { static const int kBlockSize = 4096; -Arena::Arena() { - blocks_memory_ = 0; +Arena::Arena() : memory_usage_(0) { alloc_ptr_ = NULL; // First allocation will allocate a block alloc_bytes_remaining_ = 0; } @@ -60,8 +59,9 @@ char* Arena::AllocateAligned(size_t bytes) { char* Arena::AllocateNewBlock(size_t block_bytes) { char* result = new char[block_bytes]; - blocks_memory_ += block_bytes; blocks_.push_back(result); + memory_usage_.NoBarrier_Store( + reinterpret_cast<void*>(MemoryUsage() + block_bytes + sizeof(char*))); return result; } |