Update jemalloc to version 3.5.1.
This commit is contained in:
parent
b67ba111e9
commit
706d9bd159
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=262521
@ -3,8 +3,26 @@ bug fixes are all mentioned, but internal enhancements are omitted here for
|
|||||||
brevity (even though they are more fun to write about). Much more detail can be
|
brevity (even though they are more fun to write about). Much more detail can be
|
||||||
found in the git revision history:
|
found in the git revision history:
|
||||||
|
|
||||||
http://www.canonware.com/cgi-bin/gitweb.cgi?p=jemalloc.git
|
https://github.com/jemalloc/jemalloc
|
||||||
git://canonware.com/jemalloc.git
|
|
||||||
|
* 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)
|
* 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
|
API. The *allocx() functions are slightly simpler to use because they have
|
||||||
fewer parameters, they directly return the results of primary interest, and
|
fewer parameters, they directly return the results of primary interest, and
|
||||||
mallocx()/rallocx() avoid the strict aliasing pitfall that
|
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.
|
slated for removal in the next non-bugfix release.
|
||||||
- Add support for LinuxThreads.
|
- Add support for LinuxThreads.
|
||||||
|
|
||||||
|
@ -28,6 +28,7 @@ include/jemalloc/internal/public_unnamespace.sh
|
|||||||
include/jemalloc/internal/size_classes.sh
|
include/jemalloc/internal/size_classes.sh
|
||||||
include/jemalloc/jemalloc.h.in
|
include/jemalloc/jemalloc.h.in
|
||||||
include/jemalloc/jemalloc.sh
|
include/jemalloc/jemalloc.sh
|
||||||
|
include/jemalloc/jemalloc_defs.h
|
||||||
include/jemalloc/jemalloc_defs.h.in
|
include/jemalloc/jemalloc_defs.h.in
|
||||||
include/jemalloc/jemalloc_macros.h
|
include/jemalloc/jemalloc_macros.h
|
||||||
include/jemalloc/jemalloc_macros.h.in
|
include/jemalloc/jemalloc_macros.h.in
|
||||||
|
@ -1 +1 @@
|
|||||||
3.5.0-0-gcc47dde16203a6ae7eb685b53e1ae501f3869bc6
|
3.5.1-0-g7709a64c59daf0b1f938be49472fcc499e1bd136
|
||||||
|
@ -2,12 +2,12 @@
|
|||||||
.\" Title: JEMALLOC
|
.\" Title: JEMALLOC
|
||||||
.\" Author: Jason Evans
|
.\" Author: Jason Evans
|
||||||
.\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
|
.\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
|
||||||
.\" Date: 01/22/2014
|
.\" Date: 02/25/2014
|
||||||
.\" Manual: User Manual
|
.\" Manual: User Manual
|
||||||
.\" Source: jemalloc 3.5.0-0-gcc47dde16203a6ae7eb685b53e1ae501f3869bc6
|
.\" Source: jemalloc 3.5.1-0-g7709a64c59daf0b1f938be49472fcc499e1bd136
|
||||||
.\" Language: English
|
.\" 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
|
.\" * Define some portability stuff
|
||||||
.\" -----------------------------------------------------------------
|
.\" -----------------------------------------------------------------
|
||||||
@ -31,7 +31,7 @@
|
|||||||
jemalloc \- general purpose memory allocation functions
|
jemalloc \- general purpose memory allocation functions
|
||||||
.SH "LIBRARY"
|
.SH "LIBRARY"
|
||||||
.PP
|
.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\&.
|
\m[blue]\fBjemalloc website\fR\m[]\&\s-2\u[1]\d\s+2\&.
|
||||||
.PP
|
.PP
|
||||||
The following configuration options are enabled in libc\*(Aqs built\-in jemalloc:
|
The following configuration options are enabled in libc\*(Aqs built\-in jemalloc:
|
||||||
|
@ -188,6 +188,9 @@
|
|||||||
*/
|
*/
|
||||||
/* #undef JEMALLOC_HAS_ALLOCA_H */
|
/* #undef JEMALLOC_HAS_ALLOCA_H */
|
||||||
|
|
||||||
|
/* C99 restrict keyword supported. */
|
||||||
|
#define JEMALLOC_HAS_RESTRICT 1
|
||||||
|
|
||||||
/* sizeof(int) == 2^LG_SIZEOF_INT. */
|
/* sizeof(int) == 2^LG_SIZEOF_INT. */
|
||||||
#define LG_SIZEOF_INT 2
|
#define LG_SIZEOF_INT 2
|
||||||
|
|
||||||
|
@ -45,3 +45,7 @@
|
|||||||
#ifndef __DECONST
|
#ifndef __DECONST
|
||||||
# define __DECONST(type, var) ((type)(uintptr_t)(const void *)(var))
|
# define __DECONST(type, var) ((type)(uintptr_t)(const void *)(var))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef JEMALLOC_HAS_RESTRICT
|
||||||
|
# define restrict
|
||||||
|
#endif
|
||||||
|
@ -8,7 +8,11 @@ typedef struct prof_ctx_s prof_ctx_t;
|
|||||||
typedef struct prof_tdata_s prof_tdata_t;
|
typedef struct prof_tdata_s prof_tdata_t;
|
||||||
|
|
||||||
/* Option defaults. */
|
/* 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_SAMPLE_DEFAULT 19
|
||||||
#define LG_PROF_INTERVAL_DEFAULT -1
|
#define LG_PROF_INTERVAL_DEFAULT -1
|
||||||
|
|
||||||
|
@ -67,12 +67,12 @@ extern "C" {
|
|||||||
#include <limits.h>
|
#include <limits.h>
|
||||||
#include <strings.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_MAJOR 3
|
||||||
#define JEMALLOC_VERSION_MINOR 5
|
#define JEMALLOC_VERSION_MINOR 5
|
||||||
#define JEMALLOC_VERSION_BUGFIX 0
|
#define JEMALLOC_VERSION_BUGFIX 1
|
||||||
#define JEMALLOC_VERSION_NREV 0
|
#define JEMALLOC_VERSION_NREV 0
|
||||||
#define JEMALLOC_VERSION_GID "cc47dde16203a6ae7eb685b53e1ae501f3869bc6"
|
#define JEMALLOC_VERSION_GID "7709a64c59daf0b1f938be49472fcc499e1bd136"
|
||||||
|
|
||||||
# define MALLOCX_LG_ALIGN(la) (la)
|
# define MALLOCX_LG_ALIGN(la) (la)
|
||||||
# if LG_SIZEOF_PTR == 2
|
# if LG_SIZEOF_PTR == 2
|
||||||
|
@ -2476,7 +2476,6 @@ bin_info_run_size_calc(arena_bin_info_t *bin_info, size_t min_run_size)
|
|||||||
bin_info->reg_interval) - pad_size;
|
bin_info->reg_interval) - pad_size;
|
||||||
} while (try_hdr_size > try_redzone0_offset);
|
} while (try_hdr_size > try_redzone0_offset);
|
||||||
} while (try_run_size <= arena_maxclass
|
} while (try_run_size <= arena_maxclass
|
||||||
&& try_run_size <= arena_maxclass
|
|
||||||
&& RUN_MAX_OVRHD * (bin_info->reg_interval << 3) >
|
&& RUN_MAX_OVRHD * (bin_info->reg_interval << 3) >
|
||||||
RUN_MAX_OVRHD_RELAX
|
RUN_MAX_OVRHD_RELAX
|
||||||
&& (try_redzone0_offset << RUN_BFP) > RUN_MAX_OVRHD * try_run_size
|
&& (try_redzone0_offset << RUN_BFP) > RUN_MAX_OVRHD * try_run_size
|
||||||
|
@ -171,6 +171,16 @@ huge_ralloc(void *ptr, size_t oldsize, size_t size, size_t extra,
|
|||||||
abort();
|
abort();
|
||||||
memcpy(ret, ptr, copysize);
|
memcpy(ret, ptr, copysize);
|
||||||
chunk_dealloc_mmap(ptr, oldsize);
|
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
|
} else
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user