Commit Graph

317 Commits

Author SHA1 Message Date
Nathan Froyd
1012aff6b9 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
41452165ce Bug 923489 - Part c: qualify paths in memory/replace/dmd/; r=gps 2013-10-05 13:28:25 +02:00
Ms2ger
7b5622b8dd Bug 923489 - Part b: qualify paths in memory/replace/jemalloc/; r=gps 2013-10-05 12:19:08 +02:00
Ms2ger
c521a390af Bug 923489 - Part a: qualify paths in memory/jemalloc/; r=gps 2013-10-05 12:18:36 +02:00
Mike Hommey
f1cf3b4238 Bug 912293 - Remove now redundant boilerplate from Makefile.in. r=gps 2013-09-05 09:01:46 +09:00
Brian O'Keefe
4f68eb9b02 Bug 875934 - Move LIBRARY_NAME to moz.build, batch 3; r=mshal 2013-08-15 09:02:09 -04:00
Douglas Crosher
1c4d303bce Bug 908971 - jemalloc: fix uninitialized 'mapped' variable. r=jlebar 2013-08-24 13:35:08 +10:00
Justin Lebar
b966ab06c5 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
987e662e58 Bug 901211 - Don't use static page size on ia64, sparc and mips. r=jlebar 2013-08-05 09:10:35 +09:00
Ms2ger
5c2b63d2c7 Merge m-c to inbound. 2013-08-02 11:07:57 +02:00
Ms2ger
061d88874c Bug 897921 - Remove some dead assignments in makefiles; r=mshal 2013-08-02 09:03:55 +02:00
Justin Lebar
f7f1906708 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
5ee21d6d3f 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
7502304ad5 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
0c439ee560 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
576f2400a5 Bug 889787 - Define XP_LINUX globally; r=ted 2013-07-16 17:10:10 -04:00
Mike Hommey
ffd522d5c2 Bug 892904 - Remove useless includes of config.mk. r=gps 2013-07-15 18:48:40 +09:00
Gregory Szorc
bcf3de711c 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
4f03e5bb1a 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
25e65a9445 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
5f8b5163e8 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
6829937e70 bug 870406: move CSRCS to mozbuild (config batch #2) r=mshal 2013-06-04 11:08:44 -04:00
Mike Shal
994cfe0b6b 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
f3e4506def Fix b2g build, no bug 2013-05-16 18:07:12 -07:00
Bill McCloskey
1c9af5c86d Bug 863116 - MOZ_ALWAYS_INLINE should not inline in debug builds (r=Waldo) 2013-04-19 10:55:34 -07:00
Mike Shal
77cdb6567d Bug 846634 - Part 2: Move EXPORTS to moz.build; r=joey 2013-04-16 15:24:43 -04:00
Nicholas Nethercote
0a5643093d 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
5aa83c3e11 Bug 855465 - Add emacs python mode comments to moz.build files; r=gps 2013-04-01 11:36:59 -07:00
Kyle Machulis
c79ccc0693 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
a59d40f143 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
2a6c9d4ab8 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
9680b82df6 Bug 844654 - Part 2: Move MODULE to moz.build; rs=gps 2013-03-19 11:47:00 -07:00
Daniel Holbert
3a2a871ecc 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
2288b28e43 Bug 844635 - Part 3: Remove empty Makefile.in files; r=glandium 2013-03-17 18:01:25 -07:00
Adam Roach [:abr]
5675329857 Bug 846368 - Add number of bytes requested to OOM last-gasp r=bsmedberg 2013-02-28 13:43:51 -06:00
Gregory Szorc
85e5647383 Bug 784841 - Part 18c: Convert /memory, /mfbt, /mozglue; r=ted f=Ms2ger 2013-02-25 12:47:17 -08:00
Nicholas Nethercote
5bdaf1a962 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
9b94369d2b 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
28d113eec6 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
dd6c1ed457 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
49440e5f13 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
Nicholas Nethercote
feaf9f38bb Bug 827523 (part 3) - DMD: Add --max-frames and --max-records options. r=jlebar.
--HG--
extra : rebase_source : 9840bcfa2d8fc1127a6f367a94e1d8488ae41c6a
2013-01-07 18:32:38 -08:00
Nicholas Nethercote
a2f1339251 Bug 827523 (part 2) - DMD: Swap the diff order in test mode. r=jlebar.
--HG--
extra : rebase_source : d8b96799e7353f9d838f31ddb4b1aaca3ab6ca9c
2013-01-07 18:01:07 -08:00
Nicholas Nethercote
10be959c40 Bug 827523 (part 1) - DMD: Remove valloc() from the test. r=jlebar.
--HG--
extra : rebase_source : a5da90a39a14d45d4d841ec22506e66520791e96
2013-01-07 17:59:44 -08:00
Justin Lebar
367e4b3e82 Bug 826515 - Occasionally GC DMD stacks. r=njn 2013-01-08 11:04:19 +01:00
Nicholas Nethercote
0ea79c11c5 Bug 818793 - Add a |aMaxFrames| parameter to NS_StackWalk. r=jlebar,glandium; sr=dbaron. 2012-12-20 21:31:57 -08:00
Nicholas Nethercote
b6f32fe10b Bug 820566 - DMD: Improve testing by using a script to filter out platform-specific stuff in the output. r=jlebar.
--HG--
extra : rebase_source : 9afed1fade6007f76d69faa1d3bd8d95516380d5
2013-01-06 19:18:13 -08:00
Nicholas Nethercote
5ee4d74504 Bug 826183 - DMD: clear reportedness data before running memory reporters and dumping. r=jlebar.
--HG--
extra : rebase_source : 3ea1c71eacdee712b2d1739a8e25cbf854ea0424
2013-01-06 13:34:39 -08:00
Chris Jones
ed0965e2a9 Bug 824224: Make mozalloc_abort() not MOZ_NORETURN and log errors to logcat. r=glandium 2013-01-04 13:28:37 -08:00
Ehsan Akhgari
816c85df1c Bug 826779 - Get DMD to build on Windows; r=bbondy 2013-01-04 13:57:27 -05:00