DlMalloc.h revision 808a7c0e7e39b7ca3c7db1366e6e4089166052bb
139bec29cabd00e3924ef97287d0f658dccfbff56Mindy Pereira/*
22dd2c1b79f780a51e6900d22ae00eb8560495326Mindy Pereira * Copyright (C) 2012 The Android Open Source Project
32dd2c1b79f780a51e6900d22ae00eb8560495326Mindy Pereira *
42dd2c1b79f780a51e6900d22ae00eb8560495326Mindy Pereira * Licensed under the Apache License, Version 2.0 (the "License");
52dd2c1b79f780a51e6900d22ae00eb8560495326Mindy Pereira * you may not use this file except in compliance with the License.
62dd2c1b79f780a51e6900d22ae00eb8560495326Mindy Pereira * You may obtain a copy of the License at
72dd2c1b79f780a51e6900d22ae00eb8560495326Mindy Pereira *
82dd2c1b79f780a51e6900d22ae00eb8560495326Mindy Pereira *      http://www.apache.org/licenses/LICENSE-2.0
92dd2c1b79f780a51e6900d22ae00eb8560495326Mindy Pereira *
102dd2c1b79f780a51e6900d22ae00eb8560495326Mindy Pereira * Unless required by applicable law or agreed to in writing, software
112dd2c1b79f780a51e6900d22ae00eb8560495326Mindy Pereira * distributed under the License is distributed on an "AS IS" BASIS,
122dd2c1b79f780a51e6900d22ae00eb8560495326Mindy Pereira * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
132dd2c1b79f780a51e6900d22ae00eb8560495326Mindy Pereira * See the License for the specific language governing permissions and
142dd2c1b79f780a51e6900d22ae00eb8560495326Mindy Pereira * limitations under the License.
152dd2c1b79f780a51e6900d22ae00eb8560495326Mindy Pereira */
162dd2c1b79f780a51e6900d22ae00eb8560495326Mindy Pereira
172dd2c1b79f780a51e6900d22ae00eb8560495326Mindy Pereira#ifndef DALVIK_VM_ALLOC_DLMALLOC_H_
182dd2c1b79f780a51e6900d22ae00eb8560495326Mindy Pereira#define DALVIK_VM_ALLOC_DLMALLOC_H_
192dd2c1b79f780a51e6900d22ae00eb8560495326Mindy Pereira
2039bec29cabd00e3924ef97287d0f658dccfbff56Mindy Pereira/* Configure dlmalloc for mspaces. */
2139bec29cabd00e3924ef97287d0f658dccfbff56Mindy Pereira#define HAVE_MMAP 0
2239bec29cabd00e3924ef97287d0f658dccfbff56Mindy Pereira#define HAVE_MREMAP 0
2339bec29cabd00e3924ef97287d0f658dccfbff56Mindy Pereira#define HAVE_MORECORE 1
2439bec29cabd00e3924ef97287d0f658dccfbff56Mindy Pereira#define MSPACES 1
2539bec29cabd00e3924ef97287d0f658dccfbff56Mindy Pereira#define NO_MALLINFO 1
2639bec29cabd00e3924ef97287d0f658dccfbff56Mindy Pereira#define ONLY_MSPACES 1
2739bec29cabd00e3924ef97287d0f658dccfbff56Mindy Pereira#define USE_DL_PREFIX 1
2839bec29cabd00e3924ef97287d0f658dccfbff56Mindy Pereira#define MALLOC_INSPECT_ALL 1
292dd2c1b79f780a51e6900d22ae00eb8560495326Mindy Pereira
302dd2c1b79f780a51e6900d22ae00eb8560495326Mindy Pereira/* Include the proper definitions. */
3139bec29cabd00e3924ef97287d0f658dccfbff56Mindy Pereira#include "../../../bionic/libc/upstream-dlmalloc/malloc.h"
3239bec29cabd00e3924ef97287d0f658dccfbff56Mindy Pereira
3339bec29cabd00e3924ef97287d0f658dccfbff56Mindy Pereira/*
34 * Define dlmalloc routines from bionic that cannot be included
35 * directly because of redefining symbols from the include above.
36 */
37extern "C" void dlmalloc_inspect_all(void(*handler)(void*, void *, size_t, void*),
38                                     void* arg);
39extern "C" int  dlmalloc_trim(size_t);
40extern "C" void* dlmem2chunk(void* mem);
41
42#endif  // DALVIK_VM_ALLOC_DLMALLOC_H_
43