Skip to content
This repository was archived by the owner on Feb 5, 2019. It is now read-only.
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
100 commits
Select commit Hold shift + click to select a range
74b1ea5
fix git handling of newlines on windows
thestinger May 7, 2014
4bbd11b
Merge pull request #82 from thestinger/newline
jasone May 8, 2014
fb7fe50
Add support for user-specified chunk allocators/deallocators.
May 5, 2014
e2deab7
Refactor huge allocation to be managed by arenas.
May 16, 2014
d4a238c
Merge branch 'pr/80' into dev
May 16, 2014
b4d62cd
Minor doc edit.
May 16, 2014
ed0b0ec
Fix manual dependency on jemalloc_test.h
glandium May 21, 2014
47d58a0
Define _CRT_SPINCOUNT in test/src/mtx.c like in src/mutex.c
glandium May 21, 2014
d6fd114
Define DLLEXPORT when building .jet objects
glandium May 21, 2014
f41f143
Replace variable arrays in tests with VARIABLE_ARRAY
glandium May 21, 2014
1ad4a6e
Add missing $(EXE) to filter TESTS_UNIT_AUX_OBJS
glandium May 21, 2014
7330c37
Use C99 varadic macros instead of GCC ones
glandium May 21, 2014
86e2e70
Rename "small" local variable, because windows headers #define it
glandium May 21, 2014
3a730df
Avoid pointer arithmetic on void* in test/integration/rallocx.c
glandium May 21, 2014
a9df1ae
Use ULL prefix instead of LLU for unsigned long longs
glandium May 21, 2014
22bc570
Move __func__ to jemalloc_internal_macros.h
glandium May 21, 2014
affe009
Use a configure test to detect the form of malloc_usable_size in mall…
glandium May 27, 2014
12f74e6
Move platform headers and tricks from jemalloc_internal.h.in to a new…
glandium May 28, 2014
26246af
Define INFINITY when it's not defined
glandium May 28, 2014
17767b5
Correctly return exit code from thd_join on Windows
glandium May 28, 2014
b54aef1
Fixup after 3a730df (Avoid pointer arithmetic on void*[...])
glandium May 28, 2014
ccf0466
STATIC_PAGE_SHIFT for cross-compiling jemalloc
thestinger May 7, 2014
26f44df
Make sure initialization occurs prior to running tests.
May 28, 2014
9911862
Use nallocx() rather than mallctl() to trigger initialization.
May 28, 2014
d04047c
Add size class computation capability.
May 28, 2014
1f6d77e
Use KQU() rather than QU() where applicable.
May 29, 2014
999e1b5
Fix thd_join on win64
glandium May 29, 2014
ff2e999
Don't use msvc_compat's C99 headers with MSVC versions that have (som…
glandium May 29, 2014
8c61575
Add -FS flag to support parallel builds with MSVC 2013
glandium May 29, 2014
6f6704c
Make in-tree MSVC builds work
glandium May 29, 2014
0b5c922
Fix fallback lg_floor() implementations.
jasone Jun 2, 2014
9c3a10f
Try to use __builtin_ffsl if ffsl is unavailable.
DiamondLovesYou May 29, 2014
94ed681
Don't catch fork()ing events for Native Client.
DiamondLovesYou May 29, 2014
3e310b3
Fix -Wsign-compare warnings
cpeterso May 29, 2014
70807bc
Fix -Wsometimes-uninitialized warnings
cpeterso May 29, 2014
994fad9
Add check for madvise(2) to configure.ac.
DiamondLovesYou Jun 3, 2014
1a3eafd
Check for __builtin_ffsl before ffsl.
glandium Jun 4, 2014
8f50ec8
Use JEMALLOC_INTERNAL_FFSL in STATIC_PAGE_SHIFT test
glandium Jun 4, 2014
5921ba7
Support for iOS compilation
vhbit May 16, 2014
6f533c1
Ensure the default purgeable zone is after the default zone on OS X
glandium Jun 10, 2014
c521df5
Allow to build with clang-cl
glandium Jun 12, 2014
79230fe
Fix unportable == operator in configure scripts
basic-calculus Jun 19, 2014
087ef3b
Merge pull request #88 from sstewartgallus/fix-bashisms
jasone Jul 8, 2014
ffa2598
Add OpenRISC/or1k LG_QUANTUM size definition
manuelafm Jul 29, 2014
b433d7a
Update config.{guess,sub} to more recent versions, to add better supp…
manuelafm Jul 29, 2014
1aa25a3
Support DragonFlyBSD
mneumann Aug 5, 2014
d79d59b
Merge pull request #96 from manuelafm/dev
jasone Aug 5, 2014
cf6032d
Remove ${srcroot} from cfghdrs_in, cfgoutputs_in and cfghdrs_tup in c…
glandium Jul 30, 2014
095819f
Merge pull request #102 from mneumann/dfly
jasone Aug 6, 2014
55c9aa1
Fix the bug that causes not allocating free run with lowest address.
Aug 6, 2014
ea73eb8
Reintroduce the comment that was removed in f9ff603.
Aug 6, 2014
7f944aa
Merge pull request #103 from wqfish/dev
jasone Aug 7, 2014
a2ea54c
Add atomic operations tests and fix latent bugs.
Aug 7, 2014
1522937
Fix the cactive statistic.
Aug 7, 2014
011dde9
Set VERSION also when the source directory is a git submodule using a…
Aug 12, 2014
dd03242
Merge pull request #105 from psi-mankoski/dev
jasone Aug 12, 2014
04d60a1
Maintain all the dirty runs in a linked list for each arena
Jul 18, 2014
a244e50
Add dirty page counting for debug
Jul 21, 2014
e970800
Purge dirty pages from the beginning of the dirty list.
Jul 22, 2014
90737fc
Remove chunks_dirty tree, nruns_avail and nruns_adjac since we no
Jul 22, 2014
e8a2fd8
arena->npurgatory is no longer needed since we drop arena's lock
Jul 22, 2014
070b3c3
Fix and refactor runs_dirty-based purging.
jasone Aug 14, 2014
586c8ed
Fix arena.<i>.dss mallctl to handle read-only calls.
jasone Aug 15, 2014
b41ccdb
Convert prof_tdata_t's bt2cnt to a comprehensive map.
jasone Aug 15, 2014
ab532e9
Directly embed prof_ctx_t's bt.
jasone Aug 15, 2014
3a81cbd
Dump heap profile backtraces in a stable order.
jasone Aug 16, 2014
1628e86
Add rb_empty().
jasone Aug 19, 2014
602c8e0
Implement per thread heap profiling.
jasone Aug 18, 2014
3e24afa
Test for availability of malloc hooks via autoconf
sgolemon Aug 18, 2014
58799f6
Remove junk filling in tcache_bin_flush_small().
Aug 27, 2014
3ebf6db
Merge pull request #108 from wqfish/dev
jasone Aug 27, 2014
a5a658a
Make VERSION generation more robust.
Sep 2, 2014
f34f603
Disable autom4te cache.
Sep 3, 2014
ff6a31d
Refactor chunk map.
Aug 29, 2014
c21b05e
Whitespace cleanups.
Sep 5, 2014
b718cf7
Optimize [nmd]alloc() fast paths.
Sep 7, 2014
82e88d1
Move typedefs from jemalloc_protos.h.in to jemalloc_typedefs.h.in.
Sep 8, 2014
b67ec3c
Add a simple timer implementation for use in benchmarking.
Sep 8, 2014
423d78a
Add microbench tests.
Sep 8, 2014
c3bfe95
avoid conflict with the POSIX timer_t type
thestinger Sep 8, 2014
c54f93f
Merge pull request #114 from thestinger/timer
jasone Sep 8, 2014
a1f3929
Thwart optimization of free(malloc(1)) in microbench.
Sep 8, 2014
c3f8650
Add relevant function attributes to [msn]allocx().
Sep 8, 2014
4cfe551
Add support for sized deallocation.
thestinger Aug 28, 2014
a62812e
fix isqalloct (should call isdalloct)
thestinger Sep 9, 2014
ffe9341
Merge pull request #115 from thestinger/isqalloct
jasone Sep 9, 2014
d95e704
Support threaded heap profiles in pprof
bertmaher Sep 5, 2014
a2260c9
Fix sdallocx() assertion.
Sep 9, 2014
7c17e16
Fix threaded heap profile bug in pprof.
Sep 9, 2014
6fd53da
Fix prof_tdata_get()-related regressions.
Sep 9, 2014
6e73dc1
Fix a profile sampling race.
Sep 10, 2014
61beeb9
Add sdallocx() to list of functions to prune in pprof.
Sep 10, 2014
6b5609d
add likely / unlikely macros
thestinger Sep 9, 2014
23fdf8b
mark some conditions as unlikely
thestinger Sep 9, 2014
91566fc
Fix mallocx() to always honor MALLOCX_ARENA() when profiling.
Sep 11, 2014
9c640bf
Apply likely()/unlikely() to allocation/deallocation fast paths.
jasone Sep 11, 2014
c3e9e7b
Fix irallocx_prof() sample logic.
jasone Sep 12, 2014
9d8f3d2
Fix prof regressions.
jasone Sep 12, 2014
ebca69c
Fixed iOS build after OR1 changes
vhbit Sep 12, 2014
2dba541
check in the configure script
thestinger Sep 12, 2014
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .autom4te.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
begin-language: "Autoconf-without-aclocal-m4"
args: --no-cache
end-language: "Autoconf-without-aclocal-m4"
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* text=auto eol=lf
4 changes: 1 addition & 3 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,13 +1,10 @@
/*.gcov.*

/autom4te.cache/

/bin/jemalloc.sh

/config.stamp
/config.log
/config.status
/configure

/doc/html.xsl
/doc/manpages.xsl
Expand Down Expand Up @@ -35,6 +32,7 @@
/include/jemalloc/jemalloc_protos.h
/include/jemalloc/jemalloc_protos_jet.h
/include/jemalloc/jemalloc_rename.h
/include/jemalloc/jemalloc_typedefs.h

/src/*.[od]
/src/*.gcda
Expand Down
12 changes: 3 additions & 9 deletions INSTALL
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ any of the following arguments (not a definitive list) to 'configure':
replace the "malloc", "calloc", etc. symbols.

--without-export
Don't export public APIs. This can be useful when building jemalloc as a
Don't export public APIs. This can be useful when building jemalloc as a
static library, or to avoid exporting public APIs when using the zone
allocator on OSX.

Expand Down Expand Up @@ -96,7 +96,7 @@ any of the following arguments (not a definitive list) to 'configure':

--enable-ivsalloc
Enable validation code, which verifies that pointers reside within
jemalloc-owned chunks before dereferencing them. This incurs a substantial
jemalloc-owned chunks before dereferencing them. This incurs a substantial
performance hit.

--disable-stats
Expand Down Expand Up @@ -132,12 +132,6 @@ any of the following arguments (not a definitive list) to 'configure':
released in bulk, thus reducing the total number of mutex operations. See
the "opt.tcache" option for usage details.

--enable-mremap
Enable huge realloc() via mremap(2). mremap() is disabled by default
because the flavor used is specific to Linux, which has a quirk in its
virtual memory allocation algorithm that causes semi-permanent VM map holes
under normal jemalloc operation.

--disable-munmap
Disable virtual memory deallocation via munmap(2); instead keep track of
the virtual memory for later use. munmap() is disabled by default (i.e.
Expand All @@ -154,7 +148,7 @@ any of the following arguments (not a definitive list) to 'configure':
Disable support for Valgrind.

--disable-zone-allocator
Disable zone allocator for Darwin. This means jemalloc won't be hooked as
Disable zone allocator for Darwin. This means jemalloc won't be hooked as
the default allocator on OSX/iOS.

--enable-utrace
Expand Down
23 changes: 12 additions & 11 deletions Makefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,9 @@ XSLTPROC := @XSLTPROC@
AUTOCONF := @AUTOCONF@
_RPATH = @RPATH@
RPATH = $(if $(1),$(call _RPATH,$(1)))
cfghdrs_in := @cfghdrs_in@
cfghdrs_in := $(addprefix $(srcroot),@cfghdrs_in@)
cfghdrs_out := @cfghdrs_out@
cfgoutputs_in := @cfgoutputs_in@
cfgoutputs_in := $(addprefix $(srcroot),@cfgoutputs_in@)
cfgoutputs_out := @cfgoutputs_out@
enable_autogen := @enable_autogen@
enable_code_coverage := @enable_code_coverage@
Expand Down Expand Up @@ -108,9 +108,10 @@ DOCS_MAN3 := $(DOCS_XML:$(objroot)%.xml=$(srcroot)%.3)
DOCS := $(DOCS_HTML) $(DOCS_MAN3)
C_TESTLIB_SRCS := $(srcroot)test/src/math.c $(srcroot)test/src/mtx.c \
$(srcroot)test/src/SFMT.c $(srcroot)test/src/test.c \
$(srcroot)test/src/thd.c
$(srcroot)test/src/thd.c $(srcroot)test/src/timer.c
C_UTIL_INTEGRATION_SRCS := $(srcroot)src/util.c
TESTS_UNIT := $(srcroot)test/unit/bitmap.c \
TESTS_UNIT := $(srcroot)test/unit/atomic.c \
$(srcroot)test/unit/bitmap.c \
$(srcroot)test/unit/ckh.c \
$(srcroot)test/unit/hash.c \
$(srcroot)test/unit/junk.c \
Expand All @@ -135,15 +136,16 @@ TESTS_UNIT_AUX := $(srcroot)test/unit/prof_accum_a.c \
$(srcroot)test/unit/prof_accum_b.c
TESTS_INTEGRATION := $(srcroot)test/integration/aligned_alloc.c \
$(srcroot)test/integration/allocated.c \
$(srcroot)test/integration/sdallocx.c \
$(srcroot)test/integration/mallocx.c \
$(srcroot)test/integration/MALLOCX_ARENA.c \
$(srcroot)test/integration/mremap.c \
$(srcroot)test/integration/posix_memalign.c \
$(srcroot)test/integration/rallocx.c \
$(srcroot)test/integration/thread_arena.c \
$(srcroot)test/integration/thread_tcache_enabled.c \
$(srcroot)test/integration/xallocx.c
TESTS_STRESS :=
$(srcroot)test/integration/xallocx.c \
$(srcroot)test/integration/chunk.c
TESTS_STRESS := $(srcroot)test/stress/microbench.c
TESTS := $(TESTS_UNIT) $(TESTS_INTEGRATION) $(TESTS_STRESS)

C_OBJS := $(C_SRCS:$(srcroot)%.c=$(objroot)%.$(O))
Expand Down Expand Up @@ -213,13 +215,13 @@ define make-unit-link-dep
$(1): TESTS_UNIT_LINK_OBJS += $(2)
$(1): $(2)
endef
$(foreach test, $(TESTS_UNIT:$(srcroot)test/unit/%.c=$(objroot)test/unit/%$(EXE)), $(eval $(call make-unit-link-dep,$(test),$(filter $(test:%=%_a.$(O)) $(test:%=%_b.$(O)),$(TESTS_UNIT_AUX_OBJS)))))
$(foreach test, $(TESTS_UNIT:$(srcroot)test/unit/%.c=$(objroot)test/unit/%$(EXE)), $(eval $(call make-unit-link-dep,$(test),$(filter $(test:%$(EXE)=%_a.$(O)) $(test:%$(EXE)=%_b.$(O)),$(TESTS_UNIT_AUX_OBJS)))))
$(TESTS_INTEGRATION_OBJS): CPPFLAGS += -DJEMALLOC_INTEGRATION_TEST
$(TESTS_STRESS_OBJS): CPPFLAGS += -DJEMALLOC_STRESS_TEST
$(TESTS_OBJS): $(objroot)test/%.$(O): $(srcroot)test/%.c
$(TESTS_OBJS): CPPFLAGS += -I$(srcroot)test/include -I$(objroot)test/include
ifneq ($(IMPORTLIB),$(SO))
$(C_OBJS): CPPFLAGS += -DDLLEXPORT
$(C_OBJS) $(C_JET_OBJS): CPPFLAGS += -DDLLEXPORT
endif

ifndef CC_MM
Expand All @@ -228,7 +230,7 @@ HEADER_DIRS = $(srcroot)include/jemalloc/internal \
$(objroot)include/jemalloc $(objroot)include/jemalloc/internal
HEADERS = $(wildcard $(foreach dir,$(HEADER_DIRS),$(dir)/*.h))
$(C_OBJS) $(C_PIC_OBJS) $(C_JET_OBJS) $(C_TESTLIB_OBJS) $(TESTS_OBJS): $(HEADERS)
$(TESTS_OBJS): $(objroot)test/unit/jemalloc_test.h
$(TESTS_OBJS): $(objroot)test/include/test/jemalloc_test.h
endif

$(C_OBJS) $(C_PIC_OBJS) $(C_JET_OBJS) $(C_TESTLIB_OBJS) $(TESTS_OBJS): %.$(O):
Expand Down Expand Up @@ -399,7 +401,6 @@ clean:
rm -f $(objroot)*.gcov.*

distclean: clean
rm -rf $(objroot)autom4te.cache
rm -f $(objroot)bin/jemalloc.sh
rm -f $(objroot)config.log
rm -f $(objroot)config.status
Expand Down
Loading