// Copyright (c) 2011-present, Facebook, Inc. All rights reserved. // This source code is licensed under the BSD-style license found in the // LICENSE file in the root directory of this source tree. An additional grant // of patent rights can be found in the PATENTS file in the same directory. // // Copyright (c) 2011 The LevelDB Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. See the AUTHORS file for names of contributors. #ifndef ROCKSDB_JEMALLOC # error This file can only be part of jemalloc aware build #endif #include #include "jemalloc/jemalloc.h" // Global operators to be replaced by a linker when this file is // a part of the build void* operator new(size_t size) { void* p = je_malloc(size); if (!p) { throw std::bad_alloc(); } return p; } void* operator new[](size_t size) { void* p = je_malloc(size); if (!p) { throw std::bad_alloc(); } return p; } void operator delete(void* p) { if (p) { je_free(p); } } void operator delete[](void* p) { if (p) { je_free(p); } }