Skip to content

Commit 9963013

Browse files
committed
auto merge of #7079 : thestinger/rust/jemalloc, r=graydon
Minor release, the ChangeLog is included in the update.
2 parents 6c45160 + 0685c65 commit 9963013

34 files changed

+2833
-2785
lines changed

src/rt/jemalloc/ChangeLog

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,19 @@ found in the git revision history:
66
http://www.canonware.com/cgi-bin/gitweb.cgi?p=jemalloc.git
77
git://canonware.com/jemalloc.git
88

9+
* 3.4.0 (June 2, 2013)
10+
11+
This version is essentially a small bugfix release, but the addition of
12+
aarch64 support requires that the minor version be incremented.
13+
14+
Bug fixes:
15+
- Fix race-triggered deadlocks in chunk_record(). These deadlocks were
16+
typically triggered by multiple threads concurrently deallocating huge
17+
objects.
18+
19+
New features:
20+
- Add support for the aarch64 architecture.
21+
922
* 3.3.1 (March 6, 2013)
1023

1124
This version fixes bugs that are typically encountered only when utilizing
@@ -15,7 +28,7 @@ found in the git revision history:
1528
- Fix a locking order bug that could cause deadlock during fork if heap
1629
profiling were enabled.
1730
- Fix a chunk recycling bug that could cause the allocator to lose track of
18-
whether a chunk was zeroed. On FreeBSD, NetBSD, and OS X, it could cause
31+
whether a chunk was zeroed. On FreeBSD, NetBSD, and OS X, it could cause
1932
corruption if allocating via sbrk(2) (unlikely unless running with the
2033
"dss:primary" option specified). This was completely harmless on Linux
2134
unless using mlockall(2) (and unlikely even then, unless the

src/rt/jemalloc/VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
3.3.1-0-g9ef9d9e8c271cdf14f664b871a8f98c827714784
1+
3.4.0-0-g0ed518e5dab789ad2171bb38977a8927e2a26775

src/rt/jemalloc/bin/pprof

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22

33
# Copyright (c) 1998-2007, Google Inc.
44
# All rights reserved.
5-
#
5+
#
66
# Redistribution and use in source and binary forms, with or without
77
# modification, are permitted provided that the following conditions are
88
# met:
9-
#
9+
#
1010
# * Redistributions of source code must retain the above copyright
1111
# notice, this list of conditions and the following disclaimer.
1212
# * Redistributions in binary form must reproduce the above
@@ -16,7 +16,7 @@
1616
# * Neither the name of Google Inc. nor the names of its
1717
# contributors may be used to endorse or promote products derived from
1818
# this software without specific prior written permission.
19-
#
19+
#
2020
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
2121
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
2222
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
@@ -1683,23 +1683,23 @@ sub PrintSource {
16831683
HtmlPrintNumber($c2),
16841684
UnparseAddress($offset, $e->[0]),
16851685
CleanDisassembly($e->[3]));
1686-
1686+
16871687
# Append the most specific source line associated with this instruction
16881688
if (length($dis) < 80) { $dis .= (' ' x (80 - length($dis))) };
16891689
$dis = HtmlEscape($dis);
16901690
my $f = $e->[5];
16911691
my $l = $e->[6];
16921692
if ($f ne $last_dis_filename) {
1693-
$dis .= sprintf("<span class=disasmloc>%s:%d</span>",
1693+
$dis .= sprintf("<span class=disasmloc>%s:%d</span>",
16941694
HtmlEscape(CleanFileName($f)), $l);
16951695
} elsif ($l ne $last_dis_linenum) {
16961696
# De-emphasize the unchanged file name portion
16971697
$dis .= sprintf("<span class=unimportant>%s</span>" .
1698-
"<span class=disasmloc>:%d</span>",
1698+
"<span class=disasmloc>:%d</span>",
16991699
HtmlEscape(CleanFileName($f)), $l);
17001700
} else {
17011701
# De-emphasize the entire location
1702-
$dis .= sprintf("<span class=unimportant>%s:%d</span>",
1702+
$dis .= sprintf("<span class=unimportant>%s:%d</span>",
17031703
HtmlEscape(CleanFileName($f)), $l);
17041704
}
17051705
$last_dis_filename = $f;
@@ -1788,8 +1788,8 @@ sub PrintSource {
17881788
if (defined($dis) && $dis ne '') {
17891789
$asm = "<span class=\"asm\">" . $dis . "</span>";
17901790
}
1791-
my $source_class = (($n1 + $n2 > 0)
1792-
? "livesrc"
1791+
my $source_class = (($n1 + $n2 > 0)
1792+
? "livesrc"
17931793
: (($asm ne "") ? "deadsrc" : "nop"));
17941794
printf $output (
17951795
"<span class=\"line\">%5d</span> " .
@@ -4723,7 +4723,7 @@ sub MapToSymbols {
47234723
}
47244724
}
47254725
}
4726-
4726+
47274727
# Prepend to accumulated symbols for pcstr
47284728
# (so that caller comes before callee)
47294729
my $sym = $symbols->{$pcstr};
@@ -4917,7 +4917,7 @@ sub ConfigureTool {
49174917
my $dirname = $`; # this is everything up to and including the last slash
49184918
if (-x "$dirname$tool") {
49194919
$path = "$dirname$tool";
4920-
} else {
4920+
} else {
49214921
$path = $tool;
49224922
}
49234923
}

src/rt/jemalloc/configure.ac

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
2626
])
2727

2828
dnl JE_COMPILABLE(label, hcode, mcode, rvar)
29-
dnl
29+
dnl
3030
dnl Use AC_LINK_IFELSE() rather than AC_COMPILE_IFELSE() so that linker errors
3131
dnl cause failure.
3232
AC_DEFUN([JE_COMPILABLE],
@@ -232,7 +232,7 @@ CC_MM=1
232232
dnl Platform-specific settings. abi and RPATH can probably be determined
233233
dnl programmatically, but doing so is error-prone, which makes it generally
234234
dnl not worth the trouble.
235-
dnl
235+
dnl
236236
dnl Define cpp macros in CPPFLAGS, rather than doing AC_DEFINE(macro), since the
237237
dnl definitions need to be seen before any headers are included, which is a pain
238238
dnl to make happen otherwise.
@@ -965,7 +965,7 @@ fi
965965

966966
dnl ============================================================================
967967
dnl jemalloc configuration.
968-
dnl
968+
dnl
969969

970970
dnl Set VERSION if source directory has an embedded git repository.
971971
if test -d "${srcroot}.git" ; then

src/rt/jemalloc/doc/jemalloc.3

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@
22
.\" Title: JEMALLOC
33
.\" Author: Jason Evans
44
.\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
5-
.\" Date: 03/06/2013
5+
.\" Date: 06/02/2013
66
.\" Manual: User Manual
7-
.\" Source: jemalloc 3.3.1-0-g9ef9d9e8c271cdf14f664b871a8f98c827714784
7+
.\" Source: jemalloc 3.4.0-0-g0ed518e5dab789ad2171bb38977a8927e2a26775
88
.\" Language: English
99
.\"
10-
.TH "JEMALLOC" "3" "03/06/2013" "jemalloc 3.3.1-0-g9ef9d9e8c271" "User Manual"
10+
.TH "JEMALLOC" "3" "06/02/2013" "jemalloc 3.4.0-0-g0ed518e5dab7" "User Manual"
1111
.\" -----------------------------------------------------------------
1212
.\" * Define some portability stuff
1313
.\" -----------------------------------------------------------------
@@ -31,7 +31,7 @@
3131
jemalloc \- general purpose memory allocation functions
3232
.SH "LIBRARY"
3333
.PP
34-
This manual describes jemalloc 3\&.3\&.1\-0\-g9ef9d9e8c271cdf14f664b871a8f98c827714784\&. More information can be found at the
34+
This manual describes jemalloc 3\&.4\&.0\-0\-g0ed518e5dab789ad2171bb38977a8927e2a26775\&. More information can be found at the
3535
\m[blue]\fBjemalloc website\fR\m[]\&\s-2\u[1]\d\s+2\&.
3636
.SH "SYNOPSIS"
3737
.sp
@@ -376,7 +376,19 @@ Once, when the first call is made to one of the memory allocation routines, the
376376
The string pointed to by the global variable
377377
\fImalloc_conf\fR, the \(lqname\(rq of the file referenced by the symbolic link named
378378
/etc/malloc\&.conf, and the value of the environment variable
379-
\fBMALLOC_CONF\fR, will be interpreted, in that order, from left to right as options\&.
379+
\fBMALLOC_CONF\fR, will be interpreted, in that order, from left to right as options\&. Note that
380+
\fImalloc_conf\fR
381+
may be read before
382+
\fBmain\fR\fB\fR
383+
is entered, so the declaration of
384+
\fImalloc_conf\fR
385+
should specify an initializer that contains the final value to be read by jemalloc\&.
386+
\fImalloc_conf\fR
387+
is a compile\-time setting, whereas
388+
/etc/malloc\&.conf
389+
and
390+
\fBMALLOC_CONF\fR
391+
can be safely set any time prior to program invocation\&.
380392
.PP
381393
An options string is a comma\-separated list of option:value pairs\&. There is one key corresponding to each
382394
"opt\&.*"

src/rt/jemalloc/doc/jemalloc.xml.in

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -432,7 +432,14 @@ for (i = 0; i < nbins; i++) {
432432
referenced by the symbolic link named <filename
433433
class="symlink">/etc/malloc.conf</filename>, and the value of the
434434
environment variable <envar>MALLOC_CONF</envar>, will be interpreted, in
435-
that order, from left to right as options.</para>
435+
that order, from left to right as options. Note that
436+
<varname>malloc_conf</varname> may be read before
437+
<function>main<parameter/></function> is entered, so the declaration of
438+
<varname>malloc_conf</varname> should specify an initializer that contains
439+
the final value to be read by jemalloc. <varname>malloc_conf</varname> is
440+
a compile-time setting, whereas <filename
441+
class="symlink">/etc/malloc.conf</filename> and <envar>MALLOC_CONF</envar>
442+
can be safely set any time prior to program invocation.</para>
436443

437444
<para>An options string is a comma-separated list of option:value pairs.
438445
There is one key corresponding to each <link

0 commit comments

Comments
 (0)