Граф коммитов

675 Коммитов

Автор SHA1 Сообщение Дата
Nicholas Nethercote 5b34a25af2 Bug 1216020 - Comment all ALLOW_COMPILER_WARNINGS lines. r=glandium.
DONTBUILD because it only changes comments.

This will hopefully prevent confusion like that in bug 1215903.

--HG--
extra : rebase_source : f0a601d77b5f42b4fbe090693234f934e3becc42
2015-10-19 18:05:20 -07:00
Nathan Froyd 01583602a9 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi

--HG--
rename : mfbt/nsRefPtr.h => mfbt/RefPtr.h
2015-10-18 01:24:48 -04:00
Nathan Froyd 583afa0965 Bug 1207245 - part 3 - switch all uses of mozilla::RefPtr<T> to nsRefPtr<T>; r=ehsan
This commit was generated using the following script, executed at the
top level of a typical source code checkout.

 # Don't modify select files in mfbt/ because it's not worth trying to
 # tease out the dependencies currently.
 #
 # Don't modify anything in media/gmp-clearkey/0.1/ because those files
 # use their own RefPtr, defined in their own RefCounted.h.
find . -name '*.cpp' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    grep -v 'mfbt/RefPtr.h' | \
    grep -v 'mfbt/nsRefPtr.h' | \
    grep -v 'mfbt/RefCounted.h' | \
    grep -v 'media/gmp-clearkey/0.1/' | \
    xargs perl -p -i -e '
 s/mozilla::RefPtr/nsRefPtr/g; # handle declarations in headers
 s/\bRefPtr</nsRefPtr</g; # handle local variables in functions
 s#mozilla/RefPtr.h#mozilla/nsRefPtr.h#; # handle #includes
 s#mfbt/RefPtr.h#mfbt/nsRefPtr.h#;       # handle strange #includes
'

 # |using mozilla::RefPtr;| is OK; |using nsRefPtr;| is invalid syntax.
find . -name '*.cpp' -o -name '*.mm' | xargs sed -i -e '/using nsRefPtr/d'

 # RefPtr.h used |byRef| for dealing with COM-style outparams.
 # nsRefPtr.h uses |getter_AddRefs|.
 # Fixup that mismatch.
find . -name '*.cpp' -o -name '*.h'| \
    xargs perl -p -i -e 's/byRef/getter_AddRefs/g'
2015-10-18 00:40:10 -04:00
Carsten "Tomcat" Book 08997000eb Backed out 2 changesets (bug 1202902) to recking bug 1202902 to be able to reopen inbound on a CLOSED TREE
Backed out changeset 647025383676 (bug 1202902)
Backed out changeset d70c7fe532c6 (bug 1202902)
2015-10-07 14:03:21 +02:00
Carsten "Tomcat" Book e7ef778c9d Backed out 1 changesets (bug 1202902) for causing merge conflicts to mozilla-central
Backed out changeset cfc1820361f5 (bug 1202902)

--HG--
extra : rebase_source : 5d3db72337754bc7ab0ed0c30b2896100411ff92
2015-10-07 12:13:45 +02:00
Shu-yu Guo d06b6030f6 Bug 1202902 - Scripted fix the world. 2015-10-06 14:00:31 -07:00
Mike Hommey 9f2c4e94ba Bug 1209875 - Get rid of XULPPFLAGS. r=gps
The flags added in toolkit/locales/Makefile.in turn out not to be actually
used, so just remove that.

The remaining uses of XULPPFLAGS are to set debug flags depending on whether
MOZ_DEBUG is set or not. Just set a dedicated variable with the right value
from configure.
2015-10-01 07:30:48 +09:00
Jon Coppeard 204777d13d Bug 1207519 - Prevent HashTable shrink from ignoring allocation failures that may have been reported r=Waldo 2015-09-30 11:34:49 +01:00
Jon Coppeard 0b41e069f3 Bug 1200642 - Add checkSimulatedOOM() to AllocPolicy r=Waldo 2015-09-30 11:34:44 +01:00
Nathan Froyd 5761751aa3 Bug 1207245 - part 1 - move RefCounted<T> to its own file
Various bits depend on RefPtr.h to provide RefCounted<T> and RefPtr<T>.
It will be easier to manage an automatic conversion from RefPtr<T> to
nsRefPtr<T> if we split out the dependency on RefCounted<T> first.
2015-09-22 21:27:34 -04:00
Chris Peterson 71920a9550 Bug 1207030 - Enable -Wshadow flag in more directories that have no -Wshadow warnings. r=glandium 2015-09-22 21:39:03 -07:00
Mike Hommey 538706caba Bug 1203840 - Trigger dirty pages purge after CC. r=njn,r=smaug,r=mccr8
Jemalloc 4 purges dirty pages regularly during free() when the ratio of dirty
pages compared to active pages is higher than 1 << lg_dirty_mult.  We set
lg_dirty_mult in jemalloc_config to limit RSS usage, but it also has an impact
on performance.

So instead of enforcing a high ratio to force more pages being purged, we keep
jemalloc's default ratio of 8, and force a regular purge of all dirty pages,
after cycle collection.

Keeping jemalloc's default ratio avoids cycle-collection-triggered purge to
have to go through really all dirty pages when there are a lot, in which case
the normal jemalloc purge during free() will already have kicked in. It also
takes care of everything that doesn't run the cycle collector still having
a level of purge, like plugins in the plugin-container.

At the same time, since jemalloc_purge_freed_pages does nothing with jemalloc 4,
repurpose the MEMORY_FREE_PURGED_PAGES_MS telemetry probe to track the time
spent in this cycle-collector-triggered purge.
2015-09-20 17:43:43 +09:00
Shu-yu Guo 64db2267cf Bug 1202902 - Mass replace toplevel 'let' with 'var' in preparation for global lexical scope. (rs=jorendorff) 2015-09-15 11:19:45 -07:00
David Major cc3cd34e27 Bug 1174250: Allow the CommitHook to fail without crashing. r=glandium 2015-09-15 13:53:38 -04:00
Nicholas Nethercote cfcd8fbc5f Bug 1203476 - Fix an Android-only warning in mozalloc_abort.cpp. r=glandium.
And remove the corresponding and now-unnecessary ALLOW_COMPILER_WARNINGS=True.
2015-09-10 16:20:19 -07:00
Nicholas Nethercote 26157f37df Bug 1202965 (part 2) - Use MOZ_UNUSED in FdPrintf.c. r=glandium. 2015-09-09 17:01:32 -07:00
Nigel Babu eb13864a70 Backed out changeset a67867200ec3 (bug 1142403) for Linuxx64 M-e10s(2) bustage. 2015-09-08 13:14:05 +05:30
Mike Hommey 1e7025fdf4 Bug 1142403 - Don't build jemalloc3 with unified sources when built with --enable-debug. r=mshal
When built with --enable-debug, jemalloc3 makes headers define functions that
are normally inlined, and that prevents unified sources from working.
2015-09-08 13:13:25 +09:00
Mike Hommey 0cf8973ede Bug 1202523 - Use the default chunk size with jemalloc 4. r=njn 2015-09-08 13:10:22 +09:00
Mike Hommey 0efccdc82c Bug 1201792 - s/MOZ_JEMALLOC3/MOZ_JEMALLOC4/. r=njn 2015-09-04 15:15:47 +09:00
Mike Hommey 4a986d4f4b Bug 1201738 - Update jemalloc4 to 594c759 + two pending patches. r=njn
Also do a dummy change to configure.in to trigger a reconfigure, working
around bug 1021347.
2015-09-04 14:35:55 +09:00
Mike Hommey 748d14b77a Bug 1141079 - Setup custom jemalloc chunk hooks to keep RSS usage low. r=njn 2015-09-04 14:35:54 +09:00
Mike Hommey 4fb6c55f9d Bug 1141079 - Make jemalloc_config.c a C++ source file. r=ted
--HG--
rename : memory/build/jemalloc_config.c => memory/build/jemalloc_config.cpp
2015-09-04 14:35:54 +09:00
Jan Beich 1df901bdce Bug 1201462 - Don't count arena allocated metadata once per bin. r=glandium 2015-09-04 14:35:52 +09:00
Nicholas Nethercote e5dc6b8368 Bug 1200623 - Fix FdPrintf.o link error in --disable-optimize builds. r=glandium.
--HG--
extra : rebase_source : 2225f8496f540a01a19477e6e5e77cbc56877dea
2015-09-01 17:52:56 -07:00
Nicholas Nethercote 1dface560b Bug 1044077 - Tweak some jemalloc constants. r=glandium.
--HG--
extra : rebase_source : bfdb94191aa0872fd1aff52f143c63b0a3e41848
2015-07-14 20:35:37 -07:00
Nicholas Nethercote a6522f55a6 Bug 1200097 - Fix warnings in logalloc. r=glandium.
--HG--
extra : rebase_source : 5f49243f7b46b411ec845c3f747fdb14bc959b07
2015-08-31 16:53:13 -07:00
Nicholas Nethercote f44287005f Bug 1198334 (part 1) - Replace the opt-in FAIL_ON_WARNINGS with the opt-out ALLOW_COMPILER_WARNINGS. r=glandium.
The patch removes 455 occurrences of FAIL_ON_WARNINGS from moz.build files, and
adds 78 instances of ALLOW_COMPILER_WARNINGS. About half of those 78 are in
code we control and which should be removable with a little effort.

--HG--
extra : rebase_source : 82e3387abfbd5f1471e953961d301d3d97ed2973
2015-08-27 20:44:53 -07:00
Chris Peterson 1416e566de Bug 1198124 - Enable -Wshadow in directories that have no -Wshadow warnings. r=glandium 2015-08-25 09:14:38 -07:00
Mike Hommey b6607b1ad5 Bug 1189967 - Avoid conflicting declarations for our raise wrappers on Windows. r=nfroyd 2015-08-23 22:22:26 +09:00
Mike Hommey dea9486c28 Bug 1120793 - Remove obsolete _Throw wrapping. r=froydnj 2015-08-21 14:28:41 +09:00
Guilherme Goncalves 148b18ba80 Bug 1125514 - Use jemalloc's metadata statistics to compute bookkeeping. r=glandium 2015-08-20 10:05:44 +09:00
Andrew McCreight ae06b3dd9d Bug 1179042 - Add a script for analyzing memory blocks using a heap scan DMD log. r=njn DONTBUILD
Based on:
0a68e57a2c/dmd/block_analyzer.py
2015-08-17 16:48:10 -07:00
Mike Hommey 3ec8bddc11 Bug 1142412 - Remove last jemalloc patch by using a workaround when running its configure. r=mshal 2015-08-18 08:42:24 +09:00
Mike Hommey 54863d2784 Bug 1142412 - Update memory/jemalloc to 4.0.0 release. r=njn 2015-08-18 08:42:23 +09:00
Nathan Froyd cc763887fa Bug 1186444 - part 1 - move uses of MODULE_OPTIMIZE_FLAGS to moz.build's CFLAGS; r=mshal
Now that we have moz.build, we can be guaranteed that any flags we add
in moz.build will be added after everything else has been setup.  So any
uses of MODULE_OPTIMIZE_FLAGS can be moved to moz.build's
CFLAGS/CXXFLAGS without any unusual repercussions.  We do have to verify
that MOZ_OPTIMIZE is in effect, though.
2015-07-22 11:04:32 -04:00
Mike Hommey d3beba14ab Bug 1137580 - Do not use system realloc in mozjemalloc-exposed _recalloc. r=njn 2015-08-07 16:27:28 +09:00
Nathan Froyd 5b16595e9b Bug 1191815 - move jemalloc CFLAGS definition to moz.build; r=mshal 2015-08-06 17:22:56 -04:00
Makoto Kato ed0bf31fba Bug 830801 - Part 3. Remove NOMINMAX define from cpp source. r=mshal 2015-08-03 10:07:20 +09:00
Ehsan Akhgari 85cda505f8 Bug 1188209 - Fix more constructors in memory; r=njn 2015-07-28 08:53:29 -04:00
Birunthan Mohanathas a8939590de Bug 1182996 - Fix and add missing namespace comments. rs=ehsan
The bulk of this commit was generated by running:

  run-clang-tidy.py \
    -checks='-*,llvm-namespace-comment' \
    -header-filter=^/.../mozilla-central/.* \
    -fix
2015-07-13 08:25:42 -07:00
Andrew McCreight 6e608d39d9 Bug 1058178, part 2 - Implement address clamping analysis for DMD scan logs. r=njn
This adds a new option --clamp-contents to dmd.py. This replaces every value
contained in the memory contents in the log with a pointer to the start of a live
block, if the value is a pointer into the middle of that block. All other values
are replaced with 0. This conservative analysis makes it easier to determine
which blocks point to other blocks.
2015-06-30 11:54:15 -07:00
Andrew McCreight 1f8cde6f73 Bug 1058178, part 1 - Implement DMD heap scanning mode. r=njn
This implements a new "scan" mode for DMD that records the address
and contents of every live unsampled block in the DMD log. This
enables the low-level analysis of references from one block to
another, which can help leak investigations.
2015-06-30 11:54:15 -07:00
Benoit Girard 8d6a67f6d3 Bug 1172216 - Move nsStackwalk to mozglue. r=glandium
--HG--
rename : xpcom/base/nsStackWalk.cpp => mozglue/misc/StackWalk.cpp
rename : xpcom/base/nsStackWalk.h => mozglue/misc/StackWalk.h
extra : commitid : EMbWGfjKvdq
extra : rebase_source : b7308eb569cc1a019d3b7a92aaff0de7a49b5682
2015-06-10 16:32:45 -04:00
Ted Mielczarek 7958285841 bug 1171122 - Swap some XP_MACOSX for XP_DARWIN in mozalloc. r=glandium
--HG--
extra : commitid : 7pqjkOrdp47
extra : rebase_source : 08da613870a54423b33cecc615f46324db63f384
2015-03-27 22:53:02 -04:00
Andrew McCreight e1908881c5 Bug 1172568 - Run test_dmd.js on OS X. r=njn 2015-06-10 07:24:00 -04:00
Mike Hommey 68221d7d35 Bug 1172668 - Unbreak DMD on OS X after bug 1168719. r=gps
Bug 1168719 added a generic replace malloc library which name happened to be
the same as the existing dummy library used to link replace malloc on OSX.
Change the name of that dummy library.
2015-06-10 10:49:22 +09:00
Mike Hommey f61d5cbfd5 Bug 1172632 - Don't guess malloc_usable_size type of argument based on ANDROID_VERSION in mozjemalloc, but use the result of the configure test instead. r=njn 2015-06-10 10:49:21 +09:00
Andrew McCreight 2a29c1b921 Bug 1171647, part 2 - Remove redundant assertion for dark matter mode. r=njn 2015-06-06 14:44:19 -07:00
Andrew McCreight 7cb7fe1ebd Bug 1171647, part 1 - Define a new function to convert the mode to a string. r=njn 2015-06-06 14:44:19 -07:00
Mike Hommey 985ca5fd67 Bug 1168719 - Generic replace-malloc library. r=njn 2015-06-05 10:40:58 +09:00
Christian Holler 3091dad435 Bug 1170177 - Disable our own abort() method with MOZ_ASAN. r=froydnj 2015-06-02 23:25:01 +02:00
Leila Hadji b544725c2c Bug 498166 - malloc_init deadlock due to pthread_atfork. r=glandium 2015-05-22 06:01:00 -04:00
David Major 0c7676f78d Bug 1135583: Prevent the inclusion of Char16.h in VS2015's fallible.obj. r=glandium
--HG--
extra : rebase_source : 1d1e1c9918461d692996d27becc857e60caaebd0
2015-05-21 08:03:48 -04:00
Mike Hommey c917606f95 Bug 1043692 - Move DIST_INSTALL to moz.build. r=gps 2015-05-12 07:55:22 +09:00
Mike Hommey fe90037862 Bug 1043692 - Add a DIST_INSTALL variable to moz.build, and replace NO_DIST_INSTALL with it. r=gps 2015-05-12 07:55:21 +09:00
Mike Hommey 924c9eb636 Bug 1134923 - Remove NS_Alloc/NS_Realloc/NS_Free. r=nfroyd
They are kept around for the sake of the standalone glue, which is used
for e.g. webapprt, which doesn't have direct access to jemalloc, and thus
still needs a wrapper to go through the xpcom function list and get to
jemalloc from there.
2015-05-01 09:40:30 +09:00
ziyunfei e1db0f779e Bug 1102219 - Part 4: Replace `String.prototype.contains` with `String.prototype.includes` in chrome code. r=till 2015-04-30 00:32:05 +09:00
Ehsan Akhgari 9009ff92f8 Bug 1147243 - Build memory/jemalloc in unified mode; r=glandium 2015-04-29 09:47:36 -04:00
Paul Rouget d60a1bd75e Bug 1156628 - Don't limit the number of unused dirty pages kept by jemalloc on B2G desktop. r=gsvelto, r=glandium 2015-04-24 03:58:00 -04:00
Jed Davis 5841b01411 Bug 1102388 - Fix DMD static constructor ordering dependency. r=mccr8
Sometimes, at least on Linux, DMDFuncs::sSingleton's static initializer
(in libxul) was being called before sDMDBridge's (in libdmd).
Thus sDMDBridge wasn't constructed yet in the path where its
address is taken, passed down through {replace_,}get_bridge to
ReplaceMallocBridge::Get, and its mVersion field is read.

This patch uses dynamic allocation, following what's done for other
globals in the same situation in this file.

Also, naming convention fix: leading "s" is for C++ class statics;
C-style static globals should be "g".

--HG--
extra : rebase_source : 4a6447760555aa11109749c612094ba1694b41f6
2015-04-20 23:05:00 +02:00
Ehsan Akhgari 399276d5fc Bug 1153348 - Add an analysis to prohibit operator bools which aren't marked as either explicit or MOZ_IMPLICIT; r=jrmuizel
This is the counterpart to the existing analysis to catch
constructors which aren't marked as either explicit or
MOZ_IMPLICIT.
2015-04-21 21:40:49 -04:00
Wes Kocher 638b28b8e0 Backed out changeset 02e6a50741a9 (bug 1153348) to hopefully fix the static bustage CLOSED TREE 2015-04-21 15:47:40 -07:00
Ehsan Akhgari 3d21a05904 Bug 1153348 - Add an analysis to prohibit operator bools which aren't marked as either explicit or MOZ_IMPLICIT; r=jrmuizel
This is the counterpart to the existing analysis to catch
constructors which aren't marked as either explicit or
MOZ_IMPLICIT.
2015-04-21 16:31:58 -04:00
Jed Davis 83dc2d2c83 Bug 1128705 - Don't redefine PAGE_SIZE in DMD if it's already defined. r=erahm
--HG--
extra : rebase_source : 978b2d5440e448dec97affa98c8f5c712fcbb051
2015-04-20 14:15:00 +02:00
Jim Blandy a1f8669a0c Bug 1062473: Use mozalloc's moz_malloc_size_of in the JS shell, not our own custom copy. r=glandium
--HG--
extra : rebase_source : 0d35302f40bbc602d0338d1bcb563b045babd441
2015-04-13 16:11:32 -07:00
Jim Blandy 1121ad9a09 Bug 1145051: Don't include xpcom-config.h from mozalloc.h; it's unused. r=glandium
--HG--
extra : rebase_source : 7218f1f16db1d6c439583022c4dc73e4da8e4312
2015-03-19 01:03:05 -07:00
Jim Blandy 6afdd6c96b Bug 1145051: Use MOZ_WARN_UNUSED_RESULT instead of NS_WARN_UNUSED_RESULT. r=glandium
--HG--
extra : rebase_source : d210822225d307f3e3685cb5f95b461c48c0be7e
2015-03-19 00:46:40 -07:00
Jim Blandy a778e9f970 Bug 1145051: Replace uses of NS_ATTR_MALLOC with new MOZ_ALLOCATOR from mfbt/Attributes.h. r=glandium
--HG--
extra : rebase_source : 294215445f084687ed7fa51b88e7a22e586447a2
2015-03-18 23:56:08 -07:00
ISHIKAWA, Chiaki 5933b89b08 Bug 1147248 - GCC 4.9 needs this patch to use address sanitizer. r=glandium
--HG--
extra : rebase_source : 08c553d5b5ff76abd81b070ccd6e2f058a2c4e4b
2015-04-10 15:05:00 +02:00
Mike Hommey 26b3c4f285 Bug 1138293 - Remove moz_malloc/moz_free/moz_realloc/moz_calloc. r=njn
We need to use _impl variants within mozalloc.h when they are defined because
of how mozglue.dll is linked on Windows, where using malloc/free would use
the symbols from the MSVCRT instead of ours.
2015-03-31 12:32:49 +09:00
Mike Hommey 7fef46c799 Bug 1142434 - Remove moz_memalign/moz_valloc, nothing uses them. r=njn 2015-03-31 12:26:45 +09:00
Mike Hommey d0806aa5f6 Bug 1142434 - Remove moz_strdup/moz_strndup, nothing uses them. r=njn 2015-03-31 12:26:45 +09:00
Ehsan Akhgari 883849ee32 Bug 1145631 - Part 1: Replace MOZ_OVERRIDE and MOZ_FINAL with override and final in the tree; r=froydnj
This patch was automatically generated using the following script:

function convert() {
echo "Converting $1 to $2..."
find . \
       ! -wholename "*/.git*" \
       ! -wholename "obj-ff-dbg*" \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert MOZ_OVERRIDE override
convert MOZ_FINAL final
2015-03-21 12:28:04 -04:00
Mike Hommey 5b1c46a9cb Followup for bug 868814 - replace non-obvious #if with simpler alternative. rs=njn 2015-03-17 10:04:20 +09:00
Mike Hommey b8f2a1380c Bug 1141731 - Avoid problems caused by the inclusion of mozmemory.h in mozalloc.cpp by including mozmemory_wrap.h instead. r=njn 2015-03-11 16:03:53 +09:00
Wes Kocher b9f1c057ec Backed out changeset ff08cf105def (bug 1141731) for osx bustage 2015-03-10 18:34:28 -07:00
Mike Hommey e5effb28c1 Bug 1141731 - Avoid problems caused by the inclusion of mozmemory.h in mozalloc.cpp by including mozmemory_wrap.h instead. r=njn 2015-03-11 09:52:04 +09:00
Mike Hommey 635ebcf228 Bug 1141660 - Fix bustage from bug 868814 with --disable-replace-malloc. r=njn 2015-03-11 09:52:03 +09:00
Mike Hommey b35abc35cc Bug 1139357 - Make jemalloc3's --without-export actually work. r=njn 2015-03-10 10:01:53 +09:00
Mike Hommey 364038011c Bug 868814 - Fold mozalloc library into mozglue. r=njn
--HG--
rename : memory/mozalloc/moz.build => memory/mozalloc/staticruntime/moz.build
2015-03-10 10:01:52 +09:00
Mike Hommey abd5c031e0 Bug 1138705 - Preserve LastError when calling TlsGetValue. r=njn
TlsGetValue has a semantic difference with pthread_getspecific, in that it
can return a non-error NULL value, so it always sets the LastError.
But allocator callers may not be expecting calling e.g. free() to change
the value of the last error, so preserve it.
2015-03-04 14:40:09 +09:00
Anish 4063a569ed Bug 958147 - Choose one of run-if or skip-if and get rid of the other.r=jmaher, mwargers 2015-03-03 08:46:37 -05:00
Mike Hommey 6dd0c8c299 Bug 762449 - Fix "result of 32-bit shift implicitly converted to 64 bits" on win64. r=njn 2015-03-02 07:35:28 +09:00
Mike Hommey cefaffffe9 Bug 762449 - Make jemalloc's opt.lg_dirty_mult work as documented. r=njn 2015-03-02 07:35:28 +09:00
Chris Peterson a7dcfcca64 Bug 1129326 - Remove nonstandard let blocks from memory/replace/dmd/test/test_dmd.js. r=njn 2015-01-24 23:37:31 -08:00
Brian Smith 1bb835dbca Bug 1128413, Part 4: Fix warnings in mozilla-config.h and gcc-stl-wrapper.template.h, r=glandium
--HG--
extra : rebase_source : 7ba4fb8a0bd11648908e2790e86ce3bb4517aeb7
2015-02-02 17:35:19 -08:00
Mike Hommey a35dbaeebf Bug 1126593 - Add a global fallible instance, so that using fallible works directly, everywhere. r=njn
--HG--
rename : memory/mozalloc/fallible.h => memory/fallible/fallible.h
2015-02-02 09:56:13 +09:00
Mike Hommey 03b3291d3f Bug 1120272 - Expose _aligned_alloc and _aligned_free from mozglue. r=njn 2015-01-20 13:10:00 +09:00
Seth Fowler fb673b7c3a Bug 1121297 (Part 2) - Make VolatileBuffer threadsafe. r=glandium 2015-01-16 15:47:35 -08:00
Seth Fowler 26bd4c1cb6 Bug 1121297 (Part 1) - Move VolatileBuffer into libxul. r=glandium
--HG--
rename : memory/mozalloc/VolatileBuffer.h => memory/volatile/VolatileBuffer.h
rename : memory/mozalloc/VolatileBufferAshmem.cpp => memory/volatile/VolatileBufferAshmem.cpp
rename : memory/mozalloc/VolatileBufferFallback.cpp => memory/volatile/VolatileBufferFallback.cpp
rename : memory/mozalloc/VolatileBufferOSX.cpp => memory/volatile/VolatileBufferOSX.cpp
rename : memory/mozalloc/VolatileBufferWindows.cpp => memory/volatile/VolatileBufferWindows.cpp
rename : memory/mozalloc/moz.build => memory/volatile/moz.build
rename : memory/mozalloc/tests/TestVolatileBuffer.cpp => memory/volatile/tests/TestVolatileBuffer.cpp
rename : memory/mozalloc/tests/moz.build => memory/volatile/tests/moz.build
2015-01-16 15:47:22 -08:00
Nicholas Nethercote a479e9ccad Bug 1121830 - DMD: add "num" property to blocks in the output. r=mccr8.
The new "num" property lets identical blocks be aggregated in the output. This
patch only uses the "num" property for dead blocks, because that's where the
greatest potential benefit lies, but it could be used for live blocks as well.

On one test case (a complex PDF file) running with --mode=cumulative
--sample-below=1 this patch had the following effects.

- Change in running speed was negligible.

- Compressed output file size dropped from 8.8 to 5.0 MB.

- Compressed output file size dropped from 297 to 50 MB.

- dmd.py runtime (without stack fixing) dropped from 30 to 8 seconds.

--HG--
extra : rebase_source : 46a32058cd5c31cd823fe3f1accb5e68bcd320f3
2015-01-15 20:38:38 -08:00
Nicholas Nethercote 059cf96c41 Bug 1122337 - Mark DMD directories as FAIL_ON_WARNINGS. r=glandium.
The DEFINES and XPCOM_API changes are needed to get rid of "inconsistent dll
linkage" warnings on Windows builds.

--HG--
extra : rebase_source : 00756f51ebee85c70f65d51dbac17b4835262697
2015-01-15 21:17:18 -08:00
Mike Hommey af38583e2e Bug 1121314 - Avoid needing the arena in chunk_alloc_default to avoid possible infinite loops involving a0malloc. r=njn
The infinite loop happens if chunk_alloc_arena needs to be called when a0malloc
is called. It in turn calls chunk_alloc_default, which uses tsd, which calls
a0malloc if it's the first time the tsd is being gotten from the current thread.
tsd only uses a0malloc on platforms where there is no native thread local storage
support, which, for Mozilla, essentially means anything that is not Linux.

But the tsd is only neededto get the dss precedence setting of the given arena.
That setting has no effect when dss is disabled, which it is on Windows and Mac.

Moreover, the default setting for dss precedence is "secondary", which means
jemalloc only tries dss after it failed to get memory with mmap/VirtualAlloc.
Considering the cases where mmap/VirtualAlloc would fail essentially means
there is shortage of address space, sbrk() is not going to have much more
success, so we might as well disable dss support on all platforms, avoiding
the infinite loop problem on Android and B2G as well.
2015-01-14 15:18:49 +09:00
Mike Hommey 2e083509f2 Bug 1120798 - Use a larger realloc in one of the DMD tests so that it passes for mozjemalloc as well as jemalloc3. r=njn 2015-01-14 15:18:49 +09:00
Masatoshi Kimura bf312ad056 Bug 1120062 - Part 1: Remove most Nullptr.h includes. r=waldo 2015-01-11 11:34:52 +09:00
Brad Lassey 0e7333b6e7 bug 1083116 - build fails: malloc_decls.h conflicting types for 'malloc_usable_size' r=glandium 2015-01-06 19:58:36 -05:00
Nicholas Nethercote cdd9ba9d57 Bug 1088343 (part 2) - Enable test_dmd on Win64. r=glandium.
--HG--
extra : rebase_source : b85a5e35c71f44d7f615bc67863711a4876e9da4
2015-01-08 16:04:43 -08:00
Ehsan Akhgari 4354953b4f Bug 1118486 - Part 1: Use `= delete` instead of MOZ_DELETE directly; r=Waldo
Most of this patch (with the exception of dom/bindings/Codegen.py) was
generated by the following bash script:

#!/bin/bash

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*/.hg*" \
       ! -wholename "*/.git*" \
       ! -wholename "obj-*" \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert MOZ_DELETE '= delete'
2015-01-08 23:19:05 -05:00
Guilherme Goncalves c6a10e7bb5 Bug 899126 - Part 2 - Measure bookkeeping in jemalloc3. r=glandium. 2014-12-29 13:42:14 -08:00