aboutsummaryrefslogtreecommitdiff
path: root/libc/bionic/jemalloc.h
diff options
context:
space:
mode:
authorChristopher Ferris <cferris@google.com>2014-05-08 11:14:03 -0700
committerChristopher Ferris <cferris@google.com>2014-05-20 14:47:33 -0700
commit72bbd423579bb971dc06cdd3c06201faf3fe95e6 (patch)
tree222c460d45ac120ae45940628c501d6cfb50f84b /libc/bionic/jemalloc.h
parentafb89c2a01089bb247456634a15a58f111bb55a6 (diff)
downloadbionic-72bbd423579bb971dc06cdd3c06201faf3fe95e6.tar.gz
Support for jemalloc to replace dlmalloc.
To use jemalloc, add MALLOC_IMPL = jemalloc in a board config file and you get the new version automatically. Update the pthread_create_key tests since jemalloc uses a few keys. Add a new test to verify memalign works as expected. Bug: 981363 Change-Id: I16eb152b291a95bd2499e90492fc6b4bd7053836
Diffstat (limited to 'libc/bionic/jemalloc.h')
-rw-r--r--libc/bionic/jemalloc.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/libc/bionic/jemalloc.h b/libc/bionic/jemalloc.h
new file mode 100644
index 000000000..feb1f43a5
--- /dev/null
+++ b/libc/bionic/jemalloc.h
@@ -0,0 +1,33 @@
+/*
+ * Copyright (C) 2012 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef LIBC_BIONIC_JEMALLOC_H_
+#define LIBC_BIONIC_JEMALLOC_H_
+
+#include <jemalloc/jemalloc.h>
+
+// Need to wrap memalign since je_memalign fails on non-power of 2 alignments.
+#define je_memalign je_memalign_round_up_boundary
+
+__BEGIN_DECLS
+
+struct mallinfo je_mallinfo();
+void* je_memalign_round_up_boundary(size_t, size_t);
+void* je_pvalloc(size_t);
+
+__END_DECLS
+
+#endif // LIBC_BIONIC_DLMALLOC_H_