svn commit: r262521 - in head/contrib/jemalloc: . doc include/jemalloc include/jemalloc/internal src

Jason Evans jasone at FreeBSD.org
Wed Feb 26 02:37:02 UTC 2014


Author: jasone
Date: Wed Feb 26 02:36:59 2014
New Revision: 262521
URL: http://svnweb.freebsd.org/changeset/base/262521

Log:
  Update jemalloc to version 3.5.1.

Modified:
  head/contrib/jemalloc/ChangeLog
  head/contrib/jemalloc/FREEBSD-Xlist
  head/contrib/jemalloc/VERSION
  head/contrib/jemalloc/doc/jemalloc.3
  head/contrib/jemalloc/include/jemalloc/internal/jemalloc_internal_defs.h
  head/contrib/jemalloc/include/jemalloc/internal/jemalloc_internal_macros.h
  head/contrib/jemalloc/include/jemalloc/internal/prof.h
  head/contrib/jemalloc/include/jemalloc/jemalloc.h
  head/contrib/jemalloc/src/arena.c
  head/contrib/jemalloc/src/huge.c

Modified: head/contrib/jemalloc/ChangeLog
==============================================================================
--- head/contrib/jemalloc/ChangeLog	Wed Feb 26 02:02:51 2014	(r262520)
+++ head/contrib/jemalloc/ChangeLog	Wed Feb 26 02:36:59 2014	(r262521)
@@ -3,8 +3,26 @@ bug fixes are all mentioned, but interna
 brevity (even though they are more fun to write about).  Much more detail can be
 found in the git revision history:
 
-    http://www.canonware.com/cgi-bin/gitweb.cgi?p=jemalloc.git
-    git://canonware.com/jemalloc.git
+    https://github.com/jemalloc/jemalloc
+
+* 3.5.1 (February 25, 2014)
+
+  This version primarily addresses minor bugs in test code.
+
+  Bug fixes:
+  - Configure Solaris/Illumos to use MADV_FREE.
+  - Fix junk filling for mremap(2)-based huge reallocation.  This is only
+    relevant if configuring with the --enable-mremap option specified.
+  - Avoid compilation failure if 'restrict' C99 keyword is not supported by the
+    compiler.
+  - Add a configure test for SSE2 rather than assuming it is usable on i686
+    systems.  This fixes test compilation errors, especially on 32-bit Linux
+    systems.
+  - Fix mallctl argument size mismatches (size_t vs. uint64_t) in the stats unit
+    test.
+  - Fix/remove flawed alignment-related overflow tests.
+  - Prevent compiler optimizations that could change backtraces in the
+    prof_accum unit test.
 
 * 3.5.0 (January 22, 2014)
 
@@ -16,7 +34,7 @@ found in the git revision history:
     API.  The *allocx() functions are slightly simpler to use because they have
     fewer parameters, they directly return the results of primary interest, and
     mallocx()/rallocx() avoid the strict aliasing pitfall that
-    allocm()/rallocx() share with posix_memalign().  Note that *allocm() is
+    allocm()/rallocm() share with posix_memalign().  Note that *allocm() is
     slated for removal in the next non-bugfix release.
   - Add support for LinuxThreads.
 

Modified: head/contrib/jemalloc/FREEBSD-Xlist
==============================================================================
--- head/contrib/jemalloc/FREEBSD-Xlist	Wed Feb 26 02:02:51 2014	(r262520)
+++ head/contrib/jemalloc/FREEBSD-Xlist	Wed Feb 26 02:36:59 2014	(r262521)
@@ -28,6 +28,7 @@ include/jemalloc/internal/public_unnames
 include/jemalloc/internal/size_classes.sh
 include/jemalloc/jemalloc.h.in
 include/jemalloc/jemalloc.sh
+include/jemalloc/jemalloc_defs.h
 include/jemalloc/jemalloc_defs.h.in
 include/jemalloc/jemalloc_macros.h
 include/jemalloc/jemalloc_macros.h.in

Modified: head/contrib/jemalloc/VERSION
==============================================================================
--- head/contrib/jemalloc/VERSION	Wed Feb 26 02:02:51 2014	(r262520)
+++ head/contrib/jemalloc/VERSION	Wed Feb 26 02:36:59 2014	(r262521)
@@ -1 +1 @@
-3.5.0-0-gcc47dde16203a6ae7eb685b53e1ae501f3869bc6
+3.5.1-0-g7709a64c59daf0b1f938be49472fcc499e1bd136

Modified: head/contrib/jemalloc/doc/jemalloc.3
==============================================================================
--- head/contrib/jemalloc/doc/jemalloc.3	Wed Feb 26 02:02:51 2014	(r262520)
+++ head/contrib/jemalloc/doc/jemalloc.3	Wed Feb 26 02:36:59 2014	(r262521)
@@ -2,12 +2,12 @@
 .\"     Title: JEMALLOC
 .\"    Author: Jason Evans
 .\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
-.\"      Date: 01/22/2014
+.\"      Date: 02/25/2014
 .\"    Manual: User Manual
-.\"    Source: jemalloc 3.5.0-0-gcc47dde16203a6ae7eb685b53e1ae501f3869bc6
+.\"    Source: jemalloc 3.5.1-0-g7709a64c59daf0b1f938be49472fcc499e1bd136
 .\"  Language: English
 .\"
-.TH "JEMALLOC" "3" "01/22/2014" "jemalloc 3.5.0-0-gcc47dde16203" "User Manual"
+.TH "JEMALLOC" "3" "02/25/2014" "jemalloc 3.5.1-0-g7709a64c59da" "User Manual"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------
@@ -31,7 +31,7 @@
 jemalloc \- general purpose memory allocation functions
 .SH "LIBRARY"
 .PP
-This manual describes jemalloc 3\&.5\&.0\-0\-gcc47dde16203a6ae7eb685b53e1ae501f3869bc6\&. More information can be found at the
+This manual describes jemalloc 3\&.5\&.1\-0\-g7709a64c59daf0b1f938be49472fcc499e1bd136\&. More information can be found at the
 \m[blue]\fBjemalloc website\fR\m[]\&\s-2\u[1]\d\s+2\&.
 .PP
 The following configuration options are enabled in libc\*(Aqs built\-in jemalloc:

Modified: head/contrib/jemalloc/include/jemalloc/internal/jemalloc_internal_defs.h
==============================================================================
--- head/contrib/jemalloc/include/jemalloc/internal/jemalloc_internal_defs.h	Wed Feb 26 02:02:51 2014	(r262520)
+++ head/contrib/jemalloc/include/jemalloc/internal/jemalloc_internal_defs.h	Wed Feb 26 02:36:59 2014	(r262521)
@@ -188,6 +188,9 @@
  */
 /* #undef JEMALLOC_HAS_ALLOCA_H */
 
+/* C99 restrict keyword supported. */
+#define JEMALLOC_HAS_RESTRICT 1
+
 /* sizeof(int) == 2^LG_SIZEOF_INT. */
 #define LG_SIZEOF_INT 2
 

Modified: head/contrib/jemalloc/include/jemalloc/internal/jemalloc_internal_macros.h
==============================================================================
--- head/contrib/jemalloc/include/jemalloc/internal/jemalloc_internal_macros.h	Wed Feb 26 02:02:51 2014	(r262520)
+++ head/contrib/jemalloc/include/jemalloc/internal/jemalloc_internal_macros.h	Wed Feb 26 02:36:59 2014	(r262521)
@@ -45,3 +45,7 @@
 #ifndef __DECONST
 #  define	__DECONST(type, var)	((type)(uintptr_t)(const void *)(var))
 #endif
+
+#ifndef JEMALLOC_HAS_RESTRICT
+#  define restrict
+#endif

Modified: head/contrib/jemalloc/include/jemalloc/internal/prof.h
==============================================================================
--- head/contrib/jemalloc/include/jemalloc/internal/prof.h	Wed Feb 26 02:02:51 2014	(r262520)
+++ head/contrib/jemalloc/include/jemalloc/internal/prof.h	Wed Feb 26 02:36:59 2014	(r262521)
@@ -8,7 +8,11 @@ typedef struct prof_ctx_s prof_ctx_t;
 typedef struct prof_tdata_s prof_tdata_t;
 
 /* Option defaults. */
-#define	PROF_PREFIX_DEFAULT		"jeprof"
+#ifdef JEMALLOC_PROF
+#  define PROF_PREFIX_DEFAULT		"jeprof"
+#else
+#  define PROF_PREFIX_DEFAULT		""
+#endif
 #define	LG_PROF_SAMPLE_DEFAULT		19
 #define	LG_PROF_INTERVAL_DEFAULT	-1
 

Modified: head/contrib/jemalloc/include/jemalloc/jemalloc.h
==============================================================================
--- head/contrib/jemalloc/include/jemalloc/jemalloc.h	Wed Feb 26 02:02:51 2014	(r262520)
+++ head/contrib/jemalloc/include/jemalloc/jemalloc.h	Wed Feb 26 02:36:59 2014	(r262521)
@@ -67,12 +67,12 @@ extern "C" {
 #include <limits.h>
 #include <strings.h>
 
-#define	JEMALLOC_VERSION "3.5.0-0-gcc47dde16203a6ae7eb685b53e1ae501f3869bc6"
+#define	JEMALLOC_VERSION "3.5.1-0-g7709a64c59daf0b1f938be49472fcc499e1bd136"
 #define	JEMALLOC_VERSION_MAJOR 3
 #define	JEMALLOC_VERSION_MINOR 5
-#define	JEMALLOC_VERSION_BUGFIX 0
+#define	JEMALLOC_VERSION_BUGFIX 1
 #define	JEMALLOC_VERSION_NREV 0
-#define	JEMALLOC_VERSION_GID "cc47dde16203a6ae7eb685b53e1ae501f3869bc6"
+#define	JEMALLOC_VERSION_GID "7709a64c59daf0b1f938be49472fcc499e1bd136"
 
 #  define MALLOCX_LG_ALIGN(la)	(la)
 #  if LG_SIZEOF_PTR == 2

Modified: head/contrib/jemalloc/src/arena.c
==============================================================================
--- head/contrib/jemalloc/src/arena.c	Wed Feb 26 02:02:51 2014	(r262520)
+++ head/contrib/jemalloc/src/arena.c	Wed Feb 26 02:36:59 2014	(r262521)
@@ -2476,7 +2476,6 @@ bin_info_run_size_calc(arena_bin_info_t 
 			    bin_info->reg_interval) - pad_size;
 		} while (try_hdr_size > try_redzone0_offset);
 	} while (try_run_size <= arena_maxclass
-	    && try_run_size <= arena_maxclass
 	    && RUN_MAX_OVRHD * (bin_info->reg_interval << 3) >
 	    RUN_MAX_OVRHD_RELAX
 	    && (try_redzone0_offset << RUN_BFP) > RUN_MAX_OVRHD * try_run_size

Modified: head/contrib/jemalloc/src/huge.c
==============================================================================
--- head/contrib/jemalloc/src/huge.c	Wed Feb 26 02:02:51 2014	(r262520)
+++ head/contrib/jemalloc/src/huge.c	Wed Feb 26 02:36:59 2014	(r262521)
@@ -171,6 +171,16 @@ huge_ralloc(void *ptr, size_t oldsize, s
 				abort();
 			memcpy(ret, ptr, copysize);
 			chunk_dealloc_mmap(ptr, oldsize);
+		} else if (config_fill && zero == false && opt_junk && oldsize
+		    < newsize) {
+			/*
+			 * mremap(2) clobbers the original mapping, so
+			 * junk/zero filling is not preserved.  There is no
+			 * need to zero fill here, since any trailing
+			 * uninititialized memory is demand-zeroed by the
+			 * kernel, but junk filling must be redone.
+			 */
+			memset(ret + oldsize, 0xa5, newsize - oldsize);
 		}
 	} else
 #endif


More information about the svn-src-head mailing list