Fix various namespace issues.
diff --git a/jemalloc/src/jemalloc.c b/jemalloc/src/jemalloc.c
index 31bb00e..01eb284 100644
--- a/jemalloc/src/jemalloc.c
+++ b/jemalloc/src/jemalloc.c
@@ -1,4 +1,32 @@
 /*-
+ * Copyright (C) 2009 Facebook, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * * Redistributions of source code must retain the above copyright notice,
+ *   this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright notice,
+ *   this list of conditions and the following disclaimer in the documentation
+ *   and/or other materials provided with the distribution.
+ * * Neither the name of Facebook, Inc. nor the names of its contributors may
+ *   be used to endorse or promote products derived from this software without
+ *   specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ *******************************************************************************
+ *
  * Copyright (C) 2006-2008 Jason Evans <jasone@FreeBSD.org>.
  * All rights reserved.
  *
@@ -721,7 +749,7 @@
 	/*
 	 * bins is used to store rings of free regions of the following sizes,
 	 * assuming a 16-byte quantum, 4kB page size, and default
-	 * MALLOC_OPTIONS.
+	 * JEMALLOC_OPTIONS.
 	 *
 	 *   bins[i] | size |
 	 *   --------+------+
@@ -1037,7 +1065,7 @@
 /*
  * Runtime configuration options.
  */
-const char	*_malloc_options;
+const char	*jemalloc_options;
 
 #ifndef MALLOC_PRODUCTION
 static bool	opt_abort = true;
@@ -1185,8 +1213,8 @@
 static bool	size2bin_init_hard(void);
 static unsigned	malloc_ncpus(void);
 static bool	malloc_init_hard(void);
-void		_malloc_prefork(void);
-void		_malloc_postfork(void);
+void		jemalloc_prefork(void);
+void		jemalloc_postfork(void);
 
 /*
  * End function prototypes.
@@ -1203,8 +1231,7 @@
 	write(STDERR_FILENO, p4, strlen(p4));
 }
 
-#define	_malloc_message malloc_message
-void	(*_malloc_message)(const char *p1, const char *p2, const char *p3,
+void	(*jemalloc_message)(const char *p1, const char *p2, const char *p3,
 	    const char *p4) = wrtmessage;
 
 /*
@@ -1238,9 +1265,9 @@
 #  define assert(e) do {						\
 	if (!(e)) {							\
 		char line_buf[UMAX2S_BUFSIZE];				\
-		_malloc_message(__FILE__, ":", umax2s(__LINE__,		\
+		jemalloc_message(__FILE__, ":", umax2s(__LINE__,	\
 		    line_buf), ": Failed assertion: ");			\
-		_malloc_message("\"", #e, "\"\n", "");			\
+		jemalloc_message("\"", #e, "\"\n", "");			\
 		abort();						\
 	}								\
 } while (0)
@@ -1271,13 +1298,6 @@
 }
 #endif
 
-static inline const char *
-_getprogname(void)
-{
-
-	return ("<jemalloc>");
-}
-
 #ifdef MALLOC_STATS
 /*
  * Print to stderr in such a way as to (hopefully) avoid memory allocation.
@@ -1291,7 +1311,7 @@
 	va_start(ap, format);
 	vsnprintf(buf, sizeof(buf), format, ap);
 	va_end(ap);
-	_malloc_message(buf, "", "", "");
+	jemalloc_message(buf, "", "", "");
 }
 #endif
 
@@ -1822,8 +1842,8 @@
 			char buf[STRERROR_BUF];
 
 			strerror_r(errno, buf, sizeof(buf));
-			_malloc_message(_getprogname(),
-			    ": (malloc) Error in munmap(): ", buf, "\n");
+			jemalloc_message("<jemalloc>",
+			    ": Error in munmap(): ", buf, "\n");
 			if (opt_abort)
 				abort();
 		}
@@ -1843,8 +1863,8 @@
 		char buf[STRERROR_BUF];
 
 		strerror_r(errno, buf, sizeof(buf));
-		_malloc_message(_getprogname(),
-		    ": (malloc) Error in munmap(): ", buf, "\n");
+		jemalloc_message("<jemalloc>",
+		    ": Error in munmap(): ", buf, "\n");
 		if (opt_abort)
 			abort();
 	}
@@ -4221,8 +4241,8 @@
 	 * by using arenas[0].  In practice, this is an extremely unlikely
 	 * failure.
 	 */
-	_malloc_message(_getprogname(),
-	    ": (malloc) Error initializing arena\n", "", "");
+	jemalloc_message("<jemalloc>",
+	    ": Error initializing arena\n", "", "");
 	if (opt_abort)
 		abort();
 
@@ -4525,66 +4545,67 @@
 
 	if (opt_print_stats) {
 		char s[UMAX2S_BUFSIZE];
-		_malloc_message("___ Begin malloc statistics ___\n", "", "",
+		jemalloc_message("___ Begin jemalloc statistics ___\n", "", "",
 		    "");
-		_malloc_message("Assertions ",
+		jemalloc_message("Assertions ",
 #ifdef NDEBUG
 		    "disabled",
 #else
 		    "enabled",
 #endif
 		    "\n", "");
-		_malloc_message("Boolean MALLOC_OPTIONS: ",
+		jemalloc_message("Boolean JEMALLOC_OPTIONS: ",
 		    opt_abort ? "A" : "a", "", "");
 #ifdef MALLOC_DSS
-		_malloc_message(opt_dss ? "D" : "d", "", "", "");
+		jemalloc_message(opt_dss ? "D" : "d", "", "", "");
 #endif
 #ifdef MALLOC_MAG
-		_malloc_message(opt_mag ? "G" : "g", "", "", "");
+		jemalloc_message(opt_mag ? "G" : "g", "", "", "");
 #endif
-		_malloc_message(opt_junk ? "J" : "j", "", "", "");
+		jemalloc_message(opt_junk ? "J" : "j", "", "", "");
 #ifdef MALLOC_DSS
-		_malloc_message(opt_mmap ? "M" : "m", "", "", "");
+		jemalloc_message(opt_mmap ? "M" : "m", "", "", "");
 #endif
-		_malloc_message(opt_utrace ? "PU" : "Pu",
+		jemalloc_message(opt_utrace ? "PU" : "Pu",
 		    opt_sysv ? "V" : "v",
 		    opt_xmalloc ? "X" : "x",
 		    opt_zero ? "Z\n" : "z\n");
 
-		_malloc_message("CPUs: ", umax2s(ncpus, s), "\n", "");
-		_malloc_message("Max arenas: ", umax2s(narenas, s), "\n", "");
+		jemalloc_message("CPUs: ", umax2s(ncpus, s), "\n", "");
+		jemalloc_message("Max arenas: ", umax2s(narenas, s), "\n", "");
 #ifdef MALLOC_BALANCE
-		_malloc_message("Arena balance threshold: ",
+		jemalloc_message("Arena balance threshold: ",
 		    umax2s(opt_balance_threshold, s), "\n", "");
 #endif
-		_malloc_message("Pointer size: ", umax2s(sizeof(void *), s),
+		jemalloc_message("Pointer size: ", umax2s(sizeof(void *), s),
 		    "\n", "");
-		_malloc_message("Quantum size: ", umax2s(QUANTUM, s), "\n", "");
-		_malloc_message("Cacheline size (assumed): ", umax2s(CACHELINE,
-		    s), "\n", "");
+		jemalloc_message("Quantum size: ", umax2s(QUANTUM, s), "\n",
+		    "");
+		jemalloc_message("Cacheline size (assumed): ",
+		    umax2s(CACHELINE, s), "\n", "");
 #ifdef MALLOC_TINY
-		_malloc_message("Tiny 2^n-spaced sizes: [", umax2s((1U <<
+		jemalloc_message("Tiny 2^n-spaced sizes: [", umax2s((1U <<
 		    TINY_MIN_2POW), s), "..", "");
-		_malloc_message(umax2s((qspace_min >> 1), s), "]\n", "", "");
+		jemalloc_message(umax2s((qspace_min >> 1), s), "]\n", "", "");
 #endif
-		_malloc_message("Quantum-spaced sizes: [", umax2s(qspace_min,
+		jemalloc_message("Quantum-spaced sizes: [", umax2s(qspace_min,
 		    s), "..", "");
-		_malloc_message(umax2s(qspace_max, s), "]\n", "", "");
-		_malloc_message("Cacheline-spaced sizes: [", umax2s(cspace_min,
+		jemalloc_message(umax2s(qspace_max, s), "]\n", "", "");
+		jemalloc_message("Cacheline-spaced sizes: [",
+		    umax2s(cspace_min, s), "..", "");
+		jemalloc_message(umax2s(cspace_max, s), "]\n", "", "");
+		jemalloc_message("Subpage-spaced sizes: [", umax2s(sspace_min,
 		    s), "..", "");
-		_malloc_message(umax2s(cspace_max, s), "]\n", "", "");
-		_malloc_message("Subpage-spaced sizes: [", umax2s(sspace_min,
-		    s), "..", "");
-		_malloc_message(umax2s(sspace_max, s), "]\n", "", "");
+		jemalloc_message(umax2s(sspace_max, s), "]\n", "", "");
 #ifdef MALLOC_MAG
-		_malloc_message("Rounds per magazine: ", umax2s(max_rounds, s),
-		    "\n", "");
+		jemalloc_message("Rounds per magazine: ", umax2s(max_rounds,
+		    s), "\n", "");
 #endif
-		_malloc_message("Max dirty pages per arena: ",
+		jemalloc_message("Max dirty pages per arena: ",
 		    umax2s(opt_dirty_max, s), "\n", "");
 
-		_malloc_message("Chunk size: ", umax2s(chunksize, s), "", "");
-		_malloc_message(" (2^", umax2s(opt_chunk_2pow, s), ")\n", "");
+		jemalloc_message("Chunk size: ", umax2s(chunksize, s), "", "");
+		jemalloc_message(" (2^", umax2s(opt_chunk_2pow, s), ")\n", "");
 
 #ifdef MALLOC_STATS
 		{
@@ -4665,7 +4686,8 @@
 			}
 		}
 #endif /* #ifdef MALLOC_STATS */
-		_malloc_message("--- End malloc statistics ---\n", "", "", "");
+		jemalloc_message("--- End jemalloc statistics ---\n", "", "",
+		    "");
 	}
 }
 
@@ -4884,10 +4906,10 @@
 		/* Get runtime configuration. */
 		switch (i) {
 		case 0:
-			if ((linklen = readlink("/etc/malloc.conf", buf,
+			if ((linklen = readlink("/etc/jemalloc.conf", buf,
 						sizeof(buf) - 1)) != -1) {
 				/*
-				 * Use the contents of the "/etc/malloc.conf"
+				 * Use the contents of the "/etc/jemalloc.conf"
 				 * symbolic link's name.
 				 */
 				buf[linklen] = '\0';
@@ -4900,11 +4922,11 @@
 			break;
 		case 1:
 			if (issetugid() == 0 && (opts =
-			    getenv("MALLOC_OPTIONS")) != NULL) {
+			    getenv("JEMALLOC_OPTIONS")) != NULL) {
 				/*
 				 * Do nothing; opts is already initialized to
-				 * the value of the MALLOC_OPTIONS environment
-				 * variable.
+				 * the value of the JEMALLOC_OPTIONS
+				 * environment variable.
 				 */
 			} else {
 				/* No configuration specified. */
@@ -4913,12 +4935,12 @@
 			}
 			break;
 		case 2:
-			if (_malloc_options != NULL) {
+			if (jemalloc_options != NULL) {
 				/*
 				 * Use options that were compiled into the
 				 * program.
 				 */
-				opts = _malloc_options;
+				opts = jemalloc_options;
 			} else {
 				/* No configuration specified. */
 				buf[0] = '\0';
@@ -5108,8 +5130,8 @@
 
 					cbuf[0] = opts[j];
 					cbuf[1] = '\0';
-					_malloc_message(_getprogname(),
-					    ": (malloc) Unsupported character "
+					jemalloc_message("<jemalloc>",
+					    ": Unsupported character "
 					    "in malloc options: '", cbuf,
 					    "'\n");
 				}
@@ -5131,7 +5153,7 @@
 	}
 
 	/* Register fork handlers. */
-	pthread_atfork(_malloc_prefork, _malloc_postfork, _malloc_postfork);
+	pthread_atfork(jemalloc_prefork, jemalloc_postfork, jemalloc_postfork);
 
 #ifdef MALLOC_MAG
 	/*
@@ -5380,8 +5402,8 @@
 RETURN:
 	if (ret == NULL) {
 		if (opt_xmalloc) {
-			_malloc_message(_getprogname(),
-			    ": (malloc) Error in malloc(): out of memory\n", "",
+			jemalloc_message("<jemalloc>",
+			    ": Error in malloc(): out of memory\n", "",
 			    "");
 			abort();
 		}
@@ -5405,8 +5427,8 @@
 		if (((alignment - 1) & alignment) != 0
 		    || alignment < sizeof(void *)) {
 			if (opt_xmalloc) {
-				_malloc_message(_getprogname(),
-				    ": (malloc) Error in posix_memalign(): "
+				jemalloc_message("<jemalloc>",
+				    ": Error in posix_memalign(): "
 				    "invalid alignment\n", "", "");
 				abort();
 			}
@@ -5420,8 +5442,8 @@
 
 	if (result == NULL) {
 		if (opt_xmalloc) {
-			_malloc_message(_getprogname(),
-			": (malloc) Error in posix_memalign(): out of memory\n",
+			jemalloc_message("<jemalloc>",
+			": Error in posix_memalign(): out of memory\n",
 			"", "");
 			abort();
 		}
@@ -5474,8 +5496,8 @@
 RETURN:
 	if (ret == NULL) {
 		if (opt_xmalloc) {
-			_malloc_message(_getprogname(),
-			    ": (malloc) Error in calloc(): out of memory\n", "",
+			jemalloc_message("<jemalloc>",
+			    ": Error in calloc(): out of memory\n", "",
 			    "");
 			abort();
 		}
@@ -5509,8 +5531,8 @@
 
 		if (ret == NULL) {
 			if (opt_xmalloc) {
-				_malloc_message(_getprogname(),
-				    ": (malloc) Error in realloc(): out of "
+				jemalloc_message("<jemalloc>",
+				    ": Error in realloc(): out of "
 				    "memory\n", "", "");
 				abort();
 			}
@@ -5524,8 +5546,8 @@
 
 		if (ret == NULL) {
 			if (opt_xmalloc) {
-				_malloc_message(_getprogname(),
-				    ": (malloc) Error in realloc(): out of "
+				jemalloc_message("<jemalloc>",
+				    ": Error in realloc(): out of "
 				    "memory\n", "", "");
 				abort();
 			}
@@ -5586,7 +5608,7 @@
  * thread caches.
  */
 void
-_malloc_thread_cleanup(void)
+jemalloc_thread_cleanup(void)
 {
 
 #ifdef MALLOC_MAG
@@ -5608,7 +5630,7 @@
  */
 
 void
-_malloc_prefork(void)
+jemalloc_prefork(void)
 {
 	bool again;
 	unsigned i, j;
@@ -5656,7 +5678,7 @@
 }
 
 void
-_malloc_postfork(void)
+jemalloc_postfork(void)
 {
 	unsigned i;
 	arena_t *larenas[narenas];