Commit Graph

526 Commits

Author SHA1 Message Date
Andrew McCreight
6b43ca78e1 Bug 1058169 - Add explicit ctor annotations in DMD.cpp. r=njn 2014-08-28 12:53:47 -07:00
Nicholas Nethercote
ee0e0c98ea Bug 1057754 (follow-up) - Allow Valgrind + jemalloc to be combined, because it makes sense when running Cachegrind. r=me. 2014-08-25 20:38:29 -07:00
Nicholas Nethercote
015fc70f98 Bug 1057754 - Remove the bogus Valgrind annotations from mozjemalloc. r=glandium.
--HG--
extra : rebase_source : c6b32f064181d28bf65d291189d87e516f5e0076
2014-08-25 16:59:43 -07:00
Michael Wu
4981d589cb Bug 1045977 - Clear heap allocated volatile buffers, r=njn,seth 2014-08-19 15:30:55 -04:00
Terrence Cole
6606ad7310 Bug 1033442 - Remove non-pod realloc from MallocProvider and AllocPolicy; r=jonco
--HG--
extra : rebase_source : 507ab10313127ffcbf905c42438882aa9074c38a
2014-08-05 14:06:35 -07:00
Terrence Cole
b057565fa0 Bug 1033442 - Remove non-pod malloc from MallocProvider and AllocPolicy; r=jonco 2014-08-08 13:22:39 -07:00
Terrence Cole
a6741673cf Bug 1033442 - Remove non-pod calloc from MallocProvider and AllocPolicy; r=jonco 2014-08-05 14:06:35 -07:00
Mike Hommey
89777800f9 Bug 1047267 - Move remaining OS_LIBS and EXTRA_LIBS to moz.build. r=gps
* * *
Bug 1047267 - To fold with "Move remaining OS_LIBS and EXTRA_LIBS to moz.build"
2014-08-07 14:21:03 +09:00
Mike Hommey
d9443ec932 Bug 1045783 - Move most OS_LIBS to moz.build and do some related cleanup. r=mshal 2014-08-06 07:25:33 +09:00
Michael Wu
215e87179b Bug 1044193 - Always cleanup on heap allocation path, r=glandium 2014-08-05 02:19:59 -04:00
Mike Hommey
ec2824d0be Bug 1046045 - Remove ${srcroot} from cfghdrs_in, cfgoutputs_in and cfghdrs_tup in jemalloc's configure. r=mshal 2014-08-01 15:55:56 +09:00
Andrew McCreight
a2acb5b3e5 Bug 1004609, part 9 - Rename DMDLocationService to CodeAddressService. r=njn 2014-07-31 16:39:26 -07:00
Andrew McCreight
081e25d9f3 Bug 1004609, part 7 - Move LocationService into xpcom. r=njn,froydnj 2014-07-31 16:39:25 -07:00
Andrew McCreight
e887e90c1e Bug 1004609, part 5 - Templatize LocationService over the lock. r=njn 2014-07-31 16:39:25 -07:00
Andrew McCreight
4f5a5b0ccc Bug 1004609, part 4 - Templatize LocationService over the string allocator. r=njn 2014-07-31 16:39:25 -07:00
Andrew McCreight
2291ebfec8 Bug 1004609, part 3 - Templatize LocationService over the string interner. r=njn 2014-07-31 16:39:24 -07:00
Andrew McCreight
7059a06996 Bug 1004609, part 2 - Templatize LocationService over the writer. r=njn 2014-07-31 16:39:24 -07:00
Andrew McCreight
2456c62fdb Bug 1004609, part 1 - Inline the W() macro in LocationService. r=njn
This will make it easier to move it later.
2014-07-31 16:39:24 -07:00
Andrew McCreight
66f4b63c5e Bug 1045241 - Make memory reporting for LocationService more normal. r=njn 2014-07-31 16:39:24 -07:00
Mike Hommey
5f6ba110e6 Bug 1043802 - Remove TOOLS_DIRS and TEST_TOOLS_DIRS. r=gps 2014-07-29 08:55:55 +09:00
Nicholas Nethercote
c07ebda3e2 Bug 1035570 (part 3) - DMD: Add DMDAnalyzeHeap(), a heap snapshot function. r=erahm,mccr8.
The patch also adds DMDAnalyzeReports() as a synonym for DMDReportAndDump(),
and deprecates the latter.

--HG--
extra : rebase_source : 651246aa7a0a301f804c124f25beb0e8ed6cd67f
2014-05-29 23:46:09 -07:00
Nicholas Nethercote
c375f811f6 Bug 1035570 (part 2) - DMD: make output easier for machines to parse. r=erahm.
There are likely to be post-processing scripts for DMD added in the future. In
anticipation, this patch tweaks DMD's output to be a little more conducive to
machine parsing.

The basic idea is this:

- Lines beginning with '#' are comments and can be ignored, as can blank lines.

- All top level blocks consist of a string ending with '{', and then one or
  more indented lines, and then a closing '}' on its own line. Any multi-line
  things within a block are themselves enclosed in braces.

The diff for memory/replace/dmd/test-expected.dmd shows what this looks like in
practice.

It's a long way from a formal grammar or anything like that, but that would be
overkill. In this form it's quite easy to parse with simple scripts that just
do line-based regexp matching, rather than proper parsing. And it's still very
readable to humans, so I think it's a reasonable balance overall.

--HG--
extra : rebase_source : 64085babd79de3cce13295aa5f16a34dc3ad7697
2014-06-05 19:06:50 -07:00
Nicholas Nethercote
cb210b1e27 Bug 1035570 (part 1) - DMD: Rename TraceRecord as Record. r=erahm.
DMD used to have "stack trace records" and "stack frame records". Bug 1013011
removed the latter, and now "stack trace record" and |TraceRecord| are a bit
unwieldy. This patch changes them to "heap block record" and |Record|.

--HG--
extra : rebase_source : 1d674db9866221f6a170d0eb05aa77fc9f4a1924
2014-06-05 18:57:02 -07:00
Mike Hommey
7cab62150a Bug 1041936 part 2 - Directly use the static library "xul" to link into "xul-gtest" instead of having an intermediate library "xul" used by "xul-shared" and "xul-gtest". r=gps 2014-07-23 13:33:09 +09:00
Mike Hommey
5fab42fcaf Bug 1036894 part 8 - Move most in-tree library linkage information to moz.build, as USE_LIBS. r=gps 2014-07-23 13:30:52 +09:00
Mike Hommey
6d6d400ea1 Bug 1036894 part 6 - Emit SimplePrograms for CPP_UNIT_TESTs, and make the corresponding moz.build config look like that of SIMPLE_PROGRAMS. r=gps 2014-07-23 13:29:44 +09:00
Mike Hommey
a33d7d67e6 Bug 1036894 part 1 - Move MAKE_FRAMEWORK, SDK_LIBRARY, SHARED_LIBRARY_NAME and STATIC_LIBRARY_NAME to moz.build. r=gps
At the same time, make the Library data more useful in the build frontend.
2014-07-23 13:29:09 +09:00
Makoto Kato
a0f8ec3066 Bug 1030899 - Remove issetugid usage on jemalloc. r=glandium 2014-07-08 17:52:09 +09:00
Chris Peterson
0b109cf641 Bug 1033188 - #include <stdlib.h> for getenv() function declaration. r=glandium 2014-07-01 18:49:52 -07:00
Patrick Wang (Chih-Kai Wang)
01cc0c8352 Bug 1026864: prevent malloc from calling wrapped pthread_mutex_lock and get rid of LibcAllocator. r=cyu,r=glandium,r=khuey 2014-06-25 10:44:58 +08:00
Ehsan Akhgari
b7d21c0be3 Bug 1028684 - Fix the signature of _msize in jemalloc.c; r=glandium
This function accepts a void* argument, not a const void*.

--HG--
extra : rebase_source : 9c5cd5066b3730871e06465a84f9a27a6adc6204
2014-06-24 07:20:22 -07:00
Jed Davis
10b28157d6 Bug 1011350 - Use TaggedAnonymousMemory to distinguish our various mmap call sites. r=njn
We can probably get more granular information than this, given that we
can re-tag memory after the initial mapping, or tag subregions of an
individual mmap() call differently.  But this is a start.
2014-06-17 17:55:00 +02:00
Ehsan Akhgari
de07b6927f Bug 1025906 - Include intrin.h in jemalloc.c; r=glandium
This fixes a linking error with clang-cl.
2014-06-16 22:34:26 -04:00
Mike Hommey
33996c49d0 Bug 1024097 - Allow jemalloc to build with clang-cl. r=njn 2014-06-13 08:44:19 +09:00
Mike Hommey
d895ddcdda Bug 1019881 - Ensure the default purgeable zone is after the default zone on OS X. rs=njn 2014-06-11 11:07:27 +09:00
Michael Wu
5eef3f4fe6 Bug 994081 - [1/3] Make VolatileBufferPtrs more flexible, r=glandium 2014-04-18 12:26:49 -04:00
Chris Peterson
e64776099d Bug 1019381 - Cherrypick clang and gcc warning fixes from upstream jemalloc. r=glandium 2014-05-28 19:02:11 -07:00
Mike Hommey
550b98dd2a Bug 965870 - Check for __builtin_ffsl before ffsl. r=mshal
Cherry-picked from 1a3eafd1b0
2014-06-06 08:17:02 +09:00
Mike Hommey
cd80276444 Bug 965870 - Try to use __builtin_ffsl if ffsl is unavailable. r=mshal
Cherry-picked from 9c3a10fdf6
2014-06-06 08:15:58 +09:00
Mike Hommey
529eddba7d Bug 945582 - Don't use jemalloc3 C99 headers with MSVC versions that have (some) C99 support. r=mshal
--HG--
rename : memory/jemalloc/src/include/msvc_compat/inttypes.h => memory/jemalloc/src/include/msvc_compat/C99/inttypes.h
rename : memory/jemalloc/src/include/msvc_compat/stdbool.h => memory/jemalloc/src/include/msvc_compat/C99/stdbool.h
rename : memory/jemalloc/src/include/msvc_compat/stdint.h => memory/jemalloc/src/include/msvc_compat/C99/stdint.h
2014-05-31 09:54:23 +09:00
Nicholas Nethercote
cd36741010 Bug 1017911 - DMD: don't use alloca(), because it's a pain to get working on multiple platforms. r=mccr8.
DONTBUILD because DMD is NPOTB.

--HG--
extra : rebase_source : 0b400b76583032f30a9a4b8c935b03c015fc9772
2014-05-29 17:04:23 -07:00
Jan Beich
98b8342812 Bug 1015602 - Populate chunksize/bin_unused for MOZ_JEMALLOC3 as they're now used after bug 1006769. r=erahm 2014-05-24 06:41:00 -04:00
Ehsan Akhgari
bab7c39fd4 Bug 1015012 - Make the VolatileBuffer constructors explicit; r=froydnj 2014-05-25 21:25:33 -04:00
Eric Rahm
a772941928 Bug 1006769 - Part 2: Backport jemalloc3 run_size_calc logic. r=glandium 2014-05-21 17:34:07 -07:00
Eric Rahm
33a51f0c36 Bug 1006769 - Part 1: Improve heap-overhead memory reporting. r=njn 2014-05-21 17:34:06 -07:00
Nicholas Nethercote
d71b0cc308 Bug 1014249 - Beef up the "is DMD enabled?" and "is DMD running?" checks. r=mccr8.
--HG--
extra : rebase_source : 868ce1a1e470e45f51447f5126982aaeb51905f1
2014-05-22 19:45:14 -07:00
Nicholas Nethercote
b5aba0afc1 Bug 1013014 (attempt 2) - Disable Trace Malloc on TBPL debug builds. r=glandium.
--HG--
extra : rebase_source : 08fa200fd205225f85b9845bf8c18ac38fe26e0d
2014-05-19 18:16:42 -07:00
Mike Hommey
631f8f3393 Bug 1014308 - Update jemalloc3 to upstream 3.6.0. r=njn,r=mshal 2014-05-23 07:26:40 +09:00
Mike Hommey
b01a539557 Bug 1014300 - Ship replace_jemalloc library (jemalloc3) when replace-malloc is enabled. r=mshal 2014-05-23 07:24:22 +09:00
Nicholas Nethercote
9473865cce Bug 1013011 - DMD: Remove stack frame records. r=erahm.
DONTBUILD because DMD is NPOTB.
2014-05-19 19:57:50 -07:00
Eric Rahm
1058655d11 Bug 1000621 - Check if DMD is enabled before dumping. r=njn. DONTBUILD 2014-04-24 12:43:11 -07:00
Nathan Froyd
d1b55ffa24 Bug 993522 - fix comment in DMD.h; r=njn 2014-04-08 13:07:46 -04:00
Michael Wu
7c61e5f14c Bug 985017 - [1/2] Support null VolatileBufferPtrs, r=glandium 2014-04-02 21:32:54 -04:00
Mike Hommey
4915133ee5 Bug 984447 - Properly handle forks in mozjemalloc after bug 694896. r=smichaud 2014-03-29 16:53:49 +09:00
Thomas Zimmermann
739b082bdc Bug 979887: Fix GCC warning about undeclared function |vsnprintf|, r=glandium 2014-03-06 11:20:00 +01:00
Thomas Zimmermann
724de1c4a9 Bug 979887: Fix GCC warnings about inline variable declarations, r=glandium
Some code is compiled in C90 mode, where inline declarations of
variables are not allowed.
2014-03-06 11:19:57 +01:00
Ehsan Akhgari
17f4a32d8b Bug 976896 - Port STL_FLAGS to moz.build; r=mshal 2014-03-04 19:39:06 -05:00
Masatoshi Kimura
04f17d8a37 Bug 978442 - Use WindowsVersion.h from VolatileBuffer. r=mwu 2014-03-02 10:29:13 +09:00
Frank Wein
cb16191dfc Bug 977667 - VolatileBufferFallback.cpp:16:10: error: ‘nullptr’ was not declared in this scope, r=glandium 2014-02-28 12:32:14 +01:00
Ehsan Akhgari
7e41f47adf Bug 935778 - Part 0.4: Spray even more MOZ_DECLARE_REFCOUNTED_TYPENAME across the tree 2014-02-21 09:11:33 -05:00
Jacek Caban
5ebe3bf5e9 Bug 748598 - Fixed cross compilation on case sensitive OSes. 2014-02-20 17:22:42 +01:00
Michael Wu
01ca9b9c89 Bug 972693 - Explicitly ignore return values from moz_posix_memalign, r=glandium 2014-02-14 02:15:44 -05:00
Ehsan Akhgari
996229d3d0 Bug 973403 - Move the LOCAL_INCLUDES in memory to moz.build; r=glandium 2014-02-18 01:05:51 -05:00
Ms2ger
33da18c67e Bug 968856 - Move unconditional LOCAL_INCLUDES into moz.build; r=mshal 2014-02-15 21:24:59 +01:00
Michael Wu
a02c5cf42e Bug 748598 - Implement VolatileBuffer for OSX, Ashmem, and Windows, r=njn,glandium 2014-01-22 08:23:27 -05:00
David Major
cd455b826e Bug 860254 - Part 4: Enable poisoning. r=glandium 2014-02-13 20:11:15 -05:00
David Major
445940d0b6 Bug 860254 - Part 2: Split junk settings into opt_junk (allocate) versus opt_poison (deallocate). r=glandium 2014-01-14 11:56:18 -08:00
David Major
9989920680 Bug 860254 - Part 1: #define MALLOC_FILL but keep the options const-false. r=glandium 2014-02-13 20:10:35 -05:00
Ehsan Akhgari
d91d200572 Bug 969757 - Remove the dead code in our tree which pretends to support OS/2; r=roc,mcmanus,gps,jorendorf,bsmedberg sr=bsmedberg 2014-02-10 17:57:01 -05:00
Eric Rahm
7b205832d2 Bug 968956 - DMD: Acquire state lock before clearing reports. r=njn.
DONTBUILD because DMD is NPOTB.

--HG--
extra : rebase_source : c3e5b2f27d4983c5802f1a38c8accc31a2b07fa2
2014-02-07 15:23:50 -08:00
Marcin Juszkiewicz
420122fd2c Bug 963028 - AArch64 support for jemalloc. r=froydnj 2014-01-23 16:34:31 -05:00
Shelly Lin
4da13e0a0a Bug 801571 - Override vasprintf and asprint for Android platform to avoid the mismatch of malloc()/free(). r=glandium 2014-01-17 16:54:06 +08:00
Ryan VanderMeulen
da06e090f6 Backed out changeset 4230d328b65f (bug 801571) for memory leaks. 2014-01-17 14:25:28 -05:00
Shelly Lin
5a3b503309 Bug 801571 - Override vasprintf and asprint for Android platform to avoid the mismatch of malloc()/free(). r=glandium
DONTBUILD
2014-01-17 16:54:06 +08:00
Ryan VanderMeulen
913aa4dc43 Backed out changeset 0496d73bf88e for landing with the wrong bug # in the commit message. 2014-01-17 11:13:30 -05:00
Shelly Lin
7a3e6b8008 Bug 801517 - Override vasprintf and asprint for Android platform to avoid the mismatch of malloc()/free(). r=glandium 2014-01-17 16:54:06 +08:00
Kai-Zhen Li
d8cf29acff Bug 957450 - fix compile error from jemalloc in gonk-kk. r=gal 2014-01-10 14:14:53 +08:00
Marco Chen
46177c53e2 Backout 977d6be3df40 Bug 957450 - The added "or condition" didn't prevent gonk-kk version fall into non-const definition. 2014-01-15 15:55:12 +08:00
Jon Coppeard
8e8c44704e Bug 956501 - Update mozjemalloc chunk_alloc_mmap functions to latest upstream version r=glandium 2014-01-14 10:06:25 +00:00
Kai-Zhen Li
5979fa3eb3 Bug 957450 - fix compile error in gonk-kk. r=iacobcatalin 2014-01-10 14:14:53 +08:00
Nicholas Nethercote
2342cace79 Bug 950545 (part 2) - Fix assertion failures and output mismatches in the DMD test. r=iacobcatalin.
DONTBUILD because DMD is NPOTB

--HG--
extra : rebase_source : 48388b467bcbce8347792c8e7f0cb45b1fc177aa
2013-12-18 13:58:08 -08:00
Nicholas Nethercote
ac0a3065c4 Bug 950545 (part 1) - Fix the dump numbering in the DMD test. r=iacobcatalin.
--HG--
extra : rebase_source : 2b04382850c19aff46fce02d02ce1c235edde473
2013-12-18 13:55:47 -08:00
Nicholas Nethercote
6b9163f560 Bug 948621 (part 2) - Abort DMD-enabled Windows builds unless --enable-profiling is specified. r=ehsan.
--HG--
extra : rebase_source : 7398d8d7f13792912f27948f9681ff608a0e90c6
2013-12-15 13:50:39 -08:00
Nicholas Nethercote
736ea6d8cf Bug 948621 (part 1) - DMD: Handle arbitrary PC values in stack frames. r=iacobcatalin.
DONTBUILD because NPOTB

--HG--
extra : rebase_source : 63a30251498dc5e5df2952a468f46ada8598e03e
2013-12-15 13:47:11 -08:00
Mike Hommey
62d390485a Bug 945042 - Move NO_PROFILE_GUIDED_OPTIMIZE to moz.build. r=gps,r=njn 2013-12-09 13:39:26 +09:00
Birunthan Mohanathas
68b00083fd Bug 713082 - Part 1: Remove unnecessary Util.h includes. r=Waldo 2013-12-08 21:52:33 -05:00
Mike Shal
ddecae52a4 Bug 875013 - Remove VPATH; r=glandium 2013-11-21 14:57:06 -05:00
Markus Stange
c1c64aef1e Bug 945131 - Fix DMD build by using const char*. r=njn
DONTBUILD because NPOTB
2013-12-02 23:13:20 +01:00
Catalin Iacob
269fad5982 Bug 819839 - Part 2 - Print file name and line number if available in DMD report. r=njn 2013-11-29 16:09:42 +01:00
Mike Hommey
8fd06cf41b Bug 874266 - Move all DEFINES that can be moved to moz.build. r=mshal 2013-11-27 22:55:07 +09:00
Mike Hommey
b32a4ed166 Backout changeset 3fd4b546eed4 (bug 874266) and changeset a35d2e3a872f (bug 942043) for ASAN build bustage and Windows test bustage
--HG--
extra : amend_source : f20d09aeff1c8b5cbd0f1d24c7ce04e86f3aed1d
2013-11-28 14:24:05 +09:00
Mike Hommey
682364d535 Bug 874266 - Move all DEFINES that can be moved to moz.build. r=mshal 2013-11-28 13:08:16 +09:00
Catalin Iacob
fe5d12c0e2 Bug 940218 - Build memory/ in unified mode; r=ehsan 2013-11-25 12:09:59 +01:00
Ehsan Akhgari
e58130769b Backed out changeset c3d41ab0a2df (bug 940218) for causing bug 941616
--HG--
extra : rebase_source : c0d9b2840ddb6a6b88b86cfc3e3a6810ac9e37e2
2013-11-21 14:28:52 -05:00
Nathan Froyd
fb9e458abe Bug 941616 - fix jemalloc build for --enable-replace-malloc; r=ehsan 2013-11-21 09:46:32 -05:00
Chris Peterson
4be77ac908 Bug 940218 - Build memory/jemalloc and friends in unified mode. r=glandium 2013-11-17 01:16:36 -08:00
Mike Hommey
b2e90f6233 Bug 914245 - Move FORCE_SHARED_LIB to moz.build. r=mshal 2013-11-19 11:47:45 +09:00
Mike Hommey
e80e877ab7 Bug 939044 - Remove most definitions of MODULE. r=mshal 2013-11-19 11:47:39 +09:00
Mike Hommey
dda5b915fe Bug 939039 - Remove now useless FORCE_STATIC_LIB definitions. r=gps 2013-11-19 11:47:28 +09:00
Mike Hommey
ffe0380912 Bug 935881 - Use FINAL_LIBRARY for all (fake) libraries that end up linked in a single other library. r=gps 2013-11-19 11:47:14 +09:00
Birunthan Mohanathas
02a1314689 Bug 784739 - Switch from NULL to nullptr in miscellaneous directories; r=ehsan 2013-11-11 14:17:14 -05:00
Daniel Holbert
4908bbab5e Bug 926275: Remove mozalloc_macro_wrappers.h and mozalloc_undef_macro_wrappers.h. r=bsmedberg 2013-10-31 19:39:03 -07:00
David Major
06ff88fdbc Bug 931196 - Remove MOZ_TEMP_INVESTIGATION poisoning code. r=glandium 2013-10-31 11:52:08 -04:00
Ted Mielczarek
673fd74516 Bug 930674 - convert VISIBILITY_FLAGS in Makefile.in to NO_VISIBILITY_FLAGS in moz.build. r=mshal 2013-10-24 15:06:19 -04:00
Cykesiopka
d733533b8f Bug 914270 - Part 2: Manual moves. r=joey 2013-10-24 18:52:00 +01:00
Cykesiopka
d2f6b7333c Bug 914270 - Part 1: Simple/Automated moves. r=joey 2013-10-24 18:51:00 +01:00
Mike Hommey
b000a846c2 Bug 929905 - Consolidate sources in moz.build. r=gps 2013-10-25 08:23:05 +09:00
Mike Hommey
3fa7456cd6 Bug 913268 - Make CPP_SOURCES a StrictOrderingOnAppendList. r=mshal 2013-10-24 08:00:23 +09:00
Masatoshi Kimura
ede451acef Bug 928210 - Get rid of MOZ_INLINE 2013-10-22 06:34:24 +09:00
Nathan Froyd
23a4aa4d48 Bug 925169 - part 1 - don't use MOZ_MEMORY_SIZEOF_PTR_2POW in jemalloc.c; r=glandium 2013-10-09 19:04:43 -04:00
Ms2ger
6d43820437 Bug 923489 - Part c: qualify paths in memory/replace/dmd/; r=gps 2013-10-05 13:28:25 +02:00
Ms2ger
ef9afa38e7 Bug 923489 - Part b: qualify paths in memory/replace/jemalloc/; r=gps 2013-10-05 12:19:08 +02:00
Ms2ger
00cffa4842 Bug 923489 - Part a: qualify paths in memory/jemalloc/; r=gps 2013-10-05 12:18:36 +02:00
Mike Hommey
f8bc7fa754 Bug 912293 - Remove now redundant boilerplate from Makefile.in. r=gps 2013-09-05 09:01:46 +09:00
Brian O'Keefe
d118b95a0d Bug 875934 - Move LIBRARY_NAME to moz.build, batch 3; r=mshal 2013-08-15 09:02:09 -04:00
Douglas Crosher
ea8a7bdc6c Bug 908971 - jemalloc: fix uninitialized 'mapped' variable. r=jlebar 2013-08-24 13:35:08 +10:00
Justin Lebar
1cfc0ff873 Bug 903420 - Two fixes to jemalloc's memory reporters. r=glandium
1) We were counting "dirty" pages in "waste", when we shouldn't have
   been.  This was causing the assertion at the end of jemalloc_stats()
   which checks that mapped memory is greater than committed memory to
   fail.

2) jemalloc_stats used stats_chunks.curchunks to measure the number of
   mapped pages.  This was problematic for two reasons.

   a) stats_chunks.curchunks was not locked when it was modified in
      chunk_{de}alloc(), so its value could be garbage.

   b) Even if it had been locked properly, it was possible for an
      allocation to occur during a call to jemalloc_stats which would
      cause the measured amount of allocated memory to exceed the
      measured amount of mapped memory, tripping the assertion we
      tripped in (1).

   We fixed these issues by deleting stats_chunks entirely, and by
   introducing huge_mapped, which measures the amount of memory mapped
   by huge allocations (and is properly protected by huge_mtx).

   We now measure the amount of mapped memory by adding huge_mapped and
   each arena's mapped memory, and we do this in such a way that even if
   an allocation occurs during our call to jemalloc_stats, we'll still
   get a consistent result (where mapped >= committed).
2013-08-15 11:15:04 -07:00
Mike Hommey
f33621ca8f Bug 901211 - Don't use static page size on ia64, sparc and mips. r=jlebar 2013-08-05 09:10:35 +09:00
Ms2ger
50634577d5 Merge m-c to inbound. 2013-08-02 11:07:57 +02:00
Ms2ger
a4e67abf5e Bug 897921 - Remove some dead assignments in makefiles; r=mshal 2013-08-02 09:03:55 +02:00
Justin Lebar
a36239e4ef Bug 899880 - Fix jemalloc3 so it works after bug 898558, which changed jemalloc's stats struct. r=glandium 2013-08-01 16:37:54 -07:00
Ehsan Akhgari
2824b29025 Bug 895322 - Part 1: Replace the usages of MOZ_STATIC_ASSERT with C++11 static_assert; r=Waldo
This patch was mostly generated by running the following scripts on the codebase, with some
manual changes made afterwards:

# static_assert.sh
#!/bin/bash
# Command to convert an NSPR integer type to the equivalent standard integer type

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*/.hg*" \
       ! -wholename "obj-ff-dbg*" \
       ! -name nsXPCOMCID.h \
       ! -name prtypes.h \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.cc" \
         -o -iname "*.mm" \) | \
    xargs -n 1 `dirname $0`/assert_replacer.py #sed -i -e "s/\b$1\b/$2/g"
}

convert MOZ_STATIC_ASSERT static_assert
hg rev --no-backup mfbt/Assertions.h \
                   media/webrtc/signaling/src/sipcc/core/includes/ccapi.h \
                   modules/libmar/src/mar_private.h \
                   modules/libmar/src/mar.h


# assert_replacer.py
#!/usr/bin/python

import sys
import re

pattern = re.compile(r"\bMOZ_STATIC_ASSERT\b")

def replaceInPlace(fname):
  print fname
  f = open(fname, "rw+")
  lines = f.readlines()
  for i in range(0, len(lines)):
    while True:
      index = re.search(pattern, lines[i])
      if index != None:
        index = index.start()
        lines[i] = lines[i][0:index] + "static_assert" + lines[i][index+len("MOZ_STATIC_ASSERT"):]
        for j in range(i + 1, len(lines)):
          if lines[j].find("                 ", index) == index:
            lines[j] = lines[j][0:index] + lines[j][index+4:]
          else:
            break
      else:
        break
  f.seek(0, 0)
  f.truncate()
  f.write("".join(lines))
  f.close()

argc = len(sys.argv)
for i in range(1, argc):
  replaceInPlace(sys.argv[i])

--HG--
extra : rebase_source : 4b4a4047d82f2c205b9fad8d56dfc3f1afc0b045
2013-07-18 13:59:53 -04:00
Justin Lebar
e67b738ee5 Bug 898558 - Rework jemalloc_stats so it exposes how much memory is used for bookkeeping. r=glandium
This patch also gets rid of the redundant "committed" entry, so now
there's no confusion as to which entries overlap.

--HG--
extra : rebase_source : 429f3d44011f02dda43aa10b077c917c4d02fe50
2013-07-29 09:10:53 -07:00
Daniel Holbert
5c2c464bdd Bug 581478: undef strdup before (re)defining it in mozalloc_macro_wrappers.h. r=glandium 2013-07-25 18:14:41 -07:00
Mike Shal
1c7eb2843f Bug 889787 - Define XP_LINUX globally; r=ted 2013-07-16 17:10:10 -04:00
Mike Hommey
b97d1767fc Bug 892904 - Remove useless includes of config.mk. r=gps 2013-07-15 18:48:40 +09:00
Gregory Szorc
19850b9b8e Bug 891632 - Port NO_DIST_INSTALL to moz.build; r=joey
Many of the moved variables are likely not needed. moz.build should one
day validate the sandbox's output and error if "useless" variables are
present.

--HG--
extra : rebase_source : 3abdea056c18d00ede8c15b37db60532eca58630
2013-07-10 12:08:21 -07:00
Catalin Iacob
6f4758d23e Bug 798914 (part 5) - Use newly introduced mozilla::MallocSizeOf instead of nsMallocSizeOfFun. r=njn.
--HG--
extra : rebase_source : fc472490dd978d165f02f77ed37f07aed6e5bb61
2013-06-23 14:03:39 +02:00
Brian O'Keefe
f11b19a860 Bug 875934 - Move LIBRARY_NAME to moz.build (batch #2); r=mshal
--HG--
extra : rebase_source : 555b28e5c3412ffc210c60b6fe2fee6f053fd587
2013-06-18 08:13:42 -04:00
Brian O'Keefe
11bcc1cd9e Bug 875934 - Move LIBRARY_NAME to moz.build (batch #1); r=mshal
--HG--
extra : rebase_source : 385d3fd65475ffc18ee44ae088753649470e214b
2013-06-17 15:21:01 -04:00
Joey Armstrong
05956ba0cd bug 870406: move CSRCS to mozbuild (config batch #2) r=mshal 2013-06-04 11:08:44 -04:00
Mike Shal
5169c0a913 Bug 864774 - Part 2: Move CPPSRCS to moz.build as CPP_SOURCES; r=joey CLOSED TREE
From 9e0ba7f425143f545eb6c4b26a9a96b5ade4d8e9 Mon Sep 17 00:00:00 2001
2013-04-23 17:54:15 -04:00
David Zbarsky
b7a4767301 Fix b2g build, no bug 2013-05-16 18:07:12 -07:00
Bill McCloskey
52b75b6ca8 Bug 863116 - MOZ_ALWAYS_INLINE should not inline in debug builds (r=Waldo) 2013-04-19 10:55:34 -07:00
Mike Shal
df7deac25b Bug 846634 - Part 2: Move EXPORTS to moz.build; r=joey 2013-04-16 15:24:43 -04:00
Nicholas Nethercote
8ca600972c Bug 848560 (part 1) - dmd::ClearReports() needs to check if DMD is running before doing anything to avoid crashing. r=jlebar.
--HG--
extra : rebase_source : bdd7a6d1654dfbf562bc534311869248eb3c8a4a
2013-03-25 21:03:47 -07:00
Kyle Machulis
72a717a860 Bug 855465 - Add emacs python mode comments to moz.build files; r=gps 2013-04-01 11:36:59 -07:00
Kyle Machulis
43628a7867 Backout for changeset 03452b187c14 (Bug 855465) due to bustage on a CLOSED TREE; r=qdot 2013-03-29 15:12:58 -07:00
Kyle Machulis
334c0800cf Bug 855465 - Add emacs python mode comments to moz.build files; r=gps
--HG--
extra : rebase_source : 004a756492323e1a049586e85b3be5037159df20
2013-03-29 13:56:18 -07:00
Steve Singer
e8837eed1a Bug 851859 - Set jemalloc's page size based on the architecture instead of assuming it's always 4kb. r=jlebar 2013-03-27 11:32:34 -04:00
Mike Shal
7ecea60097 Bug 844654 - Part 2: Move MODULE to moz.build; rs=gps 2013-03-19 11:47:00 -07:00
Daniel Holbert
513bfe54a9 Bug 851981: Make loop iterator in mozalloc_handle_oom a size_t instead of an int, to fix build warning for signed/unsigned comparison. r=bsmedberg 2013-03-18 10:58:31 -07:00
Gregory Szorc
7d09ff18e0 Bug 844635 - Part 3: Remove empty Makefile.in files; r=glandium 2013-03-17 18:01:25 -07:00
Adam Roach [:abr]
39b30d5cd5 Bug 846368 - Add number of bytes requested to OOM last-gasp r=bsmedberg 2013-02-28 13:43:51 -06:00
Gregory Szorc
282edab58a Bug 784841 - Part 18c: Convert /memory, /mfbt, /mozglue; r=ted f=Ms2ger 2013-02-25 12:47:17 -08:00
Nicholas Nethercote
d62ad370c6 Bug 841564 - DMD: Fix the second percentage in stack frame records. r=jlebar. DONTBUILD.
--HG--
extra : rebase_source : 079bce40754ceb975cac4b3e152b294364adcdc1
2013-02-18 17:02:13 -08:00
Rafael Ávila de Espíndola
a8f5bd4bfb Bug 839338 - ASan alloc/dealloc mismatch in _M_create_nodes/_M_destroy_nodes. r=waldo. 2013-02-12 08:30:16 -05:00
Nicholas Nethercote
a1818f3885 Bug 838942 - DMD: Fix assertion in the test on Windows. r=jlebar. DONTBUILD because DMD isn't built by default.
--HG--
extra : rebase_source : e2075b1b34bbfc7d0a3b9f45523323a7f38dcb63
2013-02-07 11:18:52 -08:00
Nicholas Nethercote
6749ec5edd Bug 836054 - DMD: Handle stack entries with PC of 0x0. r=jlebar.
--HG--
rename : accessible/src/base/EventQueue.cpp => accessible/src/base/NotificationController.cpp
rename : accessible/src/base/EventQueue.h => accessible/src/base/NotificationController.h
rename : dom/browser-element/BrowserElementParent.jsm => dom/browser-element/BrowserElementParent.js
rename : testing/modules/AppInfo.jsm => services/healthreport/modules-testing/utils.jsm
extra : rebase_source : a9b8cc73c22c889dd3973bb411a075a7e7d1e954
2013-02-03 20:15:10 -08:00
Daniel Holbert
2d3b564a8f Bug 829327: Mark mozalloc_abort() as MOZ_NORETURN (except on ARM, where we're pretty sure it breaks crash stacks). r=cjones 2013-01-11 09:29:02 -08:00