Commit Graph

387 Commits

Author SHA1 Message Date
Kyle Huey
7ea5a68da2 Bug 901630: Remove support for the cc thread. r=mccr8 2013-08-13 10:45:32 -07:00
Andrew McCreight
eb5f8005c8 Bug 901756 - Fix a few nits in nsCycleCollector.cpp r=khuey
Remove an unused forward declaration, and an unused field
2013-08-05 17:04:47 -07:00
Kyle Huey
b0e1508e38 Bug 845545: Part 4 - Create a worker implementation of CycleCollectedJSRuntime. r=mccr8,bent 2013-08-03 16:55:40 -07:00
Kyle Huey
9908c2bd93 Bug 845545: Part 3 - Give the CycleCollectedJSRuntime more control over
SnowWhite. r=smaug
2013-08-03 16:55:39 -07:00
Kyle Huey
92d60a1477 Bug 845545: Part 1 - Fix heap dumping to work off the main thread. r=mccr8 2013-08-03 16:55:39 -07:00
Andrew McCreight
d885cfcb46 Bug 887903 - Non-fatally assert when nsDeque fails due to OOM during scanning in CC. r=smaug 2013-05-28 17:42:13 -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
Ehsan Akhgari
ef4b479714 Bug 872127 - Part 2: Replace mozilla/StandardInteger.h with stdint.h; r=Waldo,ted 2013-07-30 10:25:31 -04:00
Olli Pettay
ae46376c2e Bug 897433 - Telemetry for SnowWhite and more async SnowWhite freeing (patch v4), r=mccr8 2013-07-27 13:48:45 +03:00
Andrew McCreight
371753028b Bug 692226 - Record weak map entries in the cycle collector log. r=smaug 2013-07-26 08:12:51 -07:00
Ryan VanderMeulen
496513c7cd Backed out changeset 300f5b7d72e1 (bug 897433) for intermittent Linux dromaeo crashes. 2013-07-25 21:18:20 -04:00
Olli Pettay
e05c81b4a4 Bug 897433, Telemetry for SnowWhite and more async SnowWhite freeing, r=mccr8
--HG--
extra : rebase_source : 487139a95f50e69d6273c2870ed6623f175544e7
2013-07-25 22:56:20 +03:00
Andrew McCreight
1c657bf12f Bug 895933 - Record if a CC log is AllTraces or not. r=khuey 2013-07-19 10:00:53 -07:00
Olli Pettay
a0d710b2dd Bug 895578 - Make SnowWhiteKiller to use fallible TArray, r=mccr8 2013-07-19 15:53:16 +03:00
Andrew McCreight
8072ebea00 Bug 888461 - Remove unused field nsCycleCollector::mFollowupCollection. r=smaug 2013-07-14 05:10:30 -07:00
Andrew McCreight
bc21d6169e Bug 888999 - Remove mObject null checks in the cycle collector. r=smaug 2013-07-18 09:07:28 -07:00
Andrew McCreight
b2b308ac21 Bug 889053 - Remove nsCycleCollectorParams::mDoNothing which does nothing. r=khuey 2013-07-18 09:07:28 -07:00
Olli Pettay
b002b30b2a bug 789919, (snow-white) make addref/release of CCable objects faster by removing indirect refcnt increase/decrease, r=mccr8, test changes r=ehsan
--HG--
extra : rebase_source : 2a3b22425c14d6daedc91d62a652c34431acd2fb
2013-07-09 13:30:58 -04:00
Kyle Huey
ab927a2cc9 Bug 885866: Separate deferred finalization from XPConnect so we can use it off the main thread. r=mccr8, peterv, bsmedberg, jorendorff 2013-07-09 07:28:15 -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
Kyle Huey
7d893e1ec2 Bug 882893: Move observer notifications out of the cycle collector and into the runtime. r=smaug 2013-06-19 14:06:50 -07:00
Andrew McCreight
ca9071a8e2 Bug 884434 - Assert on extra shutdown CCs. r=smaug 2013-06-18 15:57:41 -07:00
Kyle Huey
16244dd73a Bug 877584: Followup to avoid some crashes during shutdown. r=mccr8 2013-06-18 12:02:16 -07:00
Kyle Huey
66fb46a26e Bug 882162: Part 9 - Kill nsCycleCollectionJSRuntime. r=mccr8 2013-06-18 12:02:16 -07:00
Kyle Huey
a57dbb3230 Bug 877584: Route JS holding through the cycle collection runtime so it can do different things on different threads. r=mccr8 2013-06-18 12:01:26 -07:00
Andrew McCreight
39cce294b2 Bug 880754 - Remove unused PointerSet typedef. r=khuey 2013-06-10 10:12:17 -07:00
Andrew McCreight
2789f6cab8 Bug 875304, part 2 - Add nonfatal assertions for OOM during CC graph building. r=smaug 2013-05-24 15:00:36 -07:00
Andrew McCreight
2e035bab53 Bug 875304, part 1b - remove pointless AppendElement checks from CC. r=smaug 2013-06-03 10:43:17 -07:00
Andrew McCreight
037c7ef2f2 Bug 875304, part 1 - remove some useless malloc checks. r=smaug 2013-05-24 13:25:20 -07:00
Ed Morley
3bf60a9f11 Backed out changeset 2864e2610800 (bug 877584) for causing bug 881266 2013-06-11 16:11:14 +01:00
Kyle Huey
bbf045f825 Bug 877584: Route JS holding through the cycle collection runtime so it can do different things on different threads. r=mccr8 2013-06-09 16:02:02 -07:00
Kyle Huey
3c18bb93bd Back out bug 877584 on this CLOSED TREE. 2013-06-06 10:49:09 -07:00
Kyle Huey
a983f728ac Bug 877584: Route JS holding through the cycle collection runtime so it can do different things on different threads. r=mccr8 2013-06-06 10:23:45 -07:00
Andrew McCreight
682308cad3 Bug 874258 - Warn if we run shutdown CC more than twice. r=smaug 2013-05-24 11:26:09 -07:00
Andrew McCreight
252d3b2eb6 Bug 873764 - Assert when CC runner isn't properly shut down. r=khuey 2013-05-20 10:38:36 -07:00
Phil Ringnalda
24157c7636 Merge m-c to a CLOSED TREE m-i 2013-05-25 20:44:02 -07:00
Phil Ringnalda
ffb2b400a4 Bug 876159 - Remove warnings that overflow maximum log size in CC-during-OOM cases, r=mccr8 CLOSED TREE 2013-05-25 14:40:09 -07:00
Aryeh Gregor
8b16f79037 Bug 867101 - Fix more implicit conversion to already_AddRefed; r=Ms2ger 2013-04-28 14:52:10 +03:00
Andrew McCreight
199fcfca97 Bug 873111 - Statically enforce root/child phase separation in cycle collector graph building. r=smaug 2013-05-20 13:08:11 -07:00
Andrew McCreight
11be5b49cd Bug 873664 - remove two unused fields from nsCycleCollector.cpp r=smaug 2013-05-17 16:59:34 -07:00
Andrew McCreight
e8995d5110 Bug 866429 - Simplify shutdown cycle collections. r=smaug 2013-04-27 11:45:46 -07:00
Andrew McCreight
8765722e58 Bug 865320 - Move the logic for deciding when to doing a merging CC into the cycle collector. r=smaug 2013-04-29 16:41:41 -07:00
Andrew McCreight
1f8daed795 Bug 867974 - fail more gently when purple buffer count isn't zero. r=smaug 2013-05-09 13:19:00 -07:00
Andrew McCreight
d44ce3612d Bug 868761 - Remove trailing whitespace from nsCycleCollector.cpp. r=smaug 2013-05-04 08:39:44 -07:00
Andrew McCreight
c88229fdd3 Bug 863085, part 2 - remove NS_CycleCollectorForget2 from some XPCOM glue. r=bsmedberg 2013-05-01 15:36:03 -07:00
Andrew McCreight
b82ff0e35c Bug 863085, part 1 - Gut NS_CycleCollectorForget2 and rename CC::Suspect2. r=smaug 2013-05-01 15:35:13 -07:00
Andrew McCreight
3a107ba64a Bug 864344 - Remove unused code for NS_Alloc failures in the cycle collector. r=smaug 2013-04-30 10:41:23 -07:00
Andrew McCreight
dba6cce472 Bug 716716 - Add templated way to iterate over purple buffer entries. r=smaug 2013-04-30 10:41:23 -07:00
Andrew McCreight
3c9c388be6 Bug 866151 - Clean up usage of nsCycleCollector.h and nsCycleCollectorUtils.h. r=smaug,bsmedberg
--HG--
rename : xpcom/base/nsCycleCollector.h => xpcom/glue/nsCycleCollectionJSRuntime.h
2013-04-30 10:41:22 -07:00
Andrew McCreight
1905bebe27 Bug 865317 - Allow a useful NodePool::Enumerator to be constructed for an empty CC graph. r=smaug 2013-04-25 08:42:44 -07:00
Andrew McCreight
3a9839780b Bug 865306 - Add assertions for the initialization of the cycle collector's EdgePool::Iterators. r=smaug 2013-04-25 08:42:44 -07:00
Andrew McCreight
8c5268671e Bug 837197 - Don't write poison shutdown CC logging. r=smaug 2013-04-25 08:42:44 -07:00
Nicholas Nethercote
1c97315e22 Bug 859657 (part 2) - Remove nsIMemoryMultiReporter.explicitNonHeap because it's more trouble than it's worth; also remove the "explicit" single reporter. r=jlebar.
--HG--
extra : rebase_source : a146536a3dd0043082bcb1c26d980c4c6d4c0730
2013-04-11 20:52:32 -07:00
Ehsan Akhgari
da80d7c1bf Bug 860886 - Make MOZ_CC_LOG_DIRECTORY work again; r=mccr8 2013-04-11 15:39:20 -04:00
Kyle Huey
9c93e2fd41 Bug 839025: Refactor cycle collector thread handling to make it optional. r=mccr8 2013-03-25 14:26:00 -07:00
Benoit Girard
042e2c83ad Bug 851611 - Part 3: Rename headers. r=jrmuizel
--HG--
rename : tools/profiler/sampler.h => tools/profiler/GeckoProfiler.h
rename : tools/profiler/sps_sampler.h => tools/profiler/GeckoProfilerImpl.h
extra : rebase_source : 6ea7c660764a4390cdd8dd91561fff1d7bad6035
2013-03-18 15:25:50 +01:00
Benoit Girard
c47f308258 Bug 851611 - Part 2: Update profiler calls. r=jrmuizel
--HG--
extra : rebase_source : f76accc3d3dd86c75cb3e9750734f23ec9c29941
2013-03-16 00:47:02 -04:00
Jon Coppeard
3dcda9b143 Bug 849273 - Investigate splitting the js and JS namespaces r=terrence
--HG--
extra : rebase_source : 2b131d0177f02e5f0e89398545481fcacbfde00f
2013-03-19 10:35:41 +00:00
Ed Morley
ab0833645c Backed out changeset c75481a07302 (bug 851611) 2013-03-18 14:10:35 +00:00
Ed Morley
3091d3e2b6 Backed out changeset d195190adc48 (bug 851611)
--HG--
rename : tools/profiler/GeckoProfiler.h => tools/profiler/sampler.h
rename : tools/profiler/GeckoProfilerImpl.h => tools/profiler/sps_sampler.h
2013-03-18 14:10:30 +00:00
Benoit Girard
b03f14270d Bug 851611 - Part 3: Rename headers. r=jrmuizel
--HG--
rename : tools/profiler/sampler.h => tools/profiler/GeckoProfiler.h
rename : tools/profiler/sps_sampler.h => tools/profiler/GeckoProfilerImpl.h
extra : rebase_source : 552fe1d3ff61d15b264aaf86f7c8cb4f4eff69d1
2013-03-18 14:41:02 +01:00
Benoit Girard
919018414b Bug 851611 - Part 2: Update profiler calls. r=jrmuizel
--HG--
extra : rebase_source : 3032aaf7e50cdf9c350da688ec34e50a695fc7ca
2013-03-16 00:47:02 -04:00
Bill McCloskey
c7ddf51a4f Bug 759585 - Zones (r=jonco,bhackett,njn,dvander,luke,bz,mccr8,bholley) 2013-03-16 20:36:37 -07:00
Igor Bukanov
2b973536e4 Bug 743436 - remove XPCJSRuntime::mJSCycleCollectionContext and related code. r=peterv
The patch removes no longer used XPCJSRuntime::mJSCycleCollectionContext,
nsXPConnect::mCycleCollectionContext and related code to create/destroy
contexts. As that made nsCycleCollectionJSRuntime::FinishTraverse() empty
in all cases I removed that method as well.
2013-02-27 11:33:12 -08:00
Kartikaya Gupta
27f16bb571 Bug 845804 - Reuse OpenTempFile from nsMemoryInfoDumper in nsCycleCollector.cpp. r=njn
CLOSED TREE
2013-03-01 10:41:17 -05:00
Ed Morley
02245ab6dd Backed out changeset 1eda65741914 (bug 845804) for xpcshell failures on a CLOSED TREE 2013-03-01 17:31:38 +00:00
Kartikaya Gupta
c1935f174a Bug 845804 - Reuse OpenTempFile from nsMemoryInfoDumper in nsCycleCollector.cpp. r=njn 2013-03-01 10:41:17 -05:00
Kartikaya Gupta
2e8db46be9 Bug 845342 - Move about:memory and related dump files to the downloads dir on android. r=njn 2013-02-27 08:58:29 -05:00
Kyle Huey
8db92146c6 Bug 845441: Remove DEBUG_CC. r=mccr8 2013-02-26 13:34:32 -08:00
Jonathan Kew
9c8145baf7 backout cset 4ede352670cd (bug 759585) on a CLOSED TREE on suspicion of making windows reftests so slow that they timeout and burn 2013-02-22 09:36:41 +00:00
Bill McCloskey
a133579459 Bug 759585 - Change the granularity of collection from compartment to zone (r=jonco,bhackett,njn,dvander,mccr8,bz,luke,bholley) 2013-02-21 18:23:47 -08:00
L. David Baron
0a8730aae0 Bug 790589: Document the MOZ_CC_LOG_DIRECTORY environment variable. r=smaug 2013-02-21 18:10:59 -08:00
Olli Pettay
33258062d0 Bug 835503 - Remove nsCycleCollector::ShouldBeFreed/WasFreed, r=mccr8 2013-01-29 12:45:38 +02:00
Bill McCloskey
f192791e29 Bug 751618 - Add js/GCAPI.h (r=terrence) 2013-01-27 12:35:12 -08:00
Nicholas Nethercote
e7d64e972a Bug 829439 (part 1) - Add MemoryReporterBase class that promotes better encapsulation within nsIMemoryReporter sub-classes. r=jlebar.
--HG--
extra : rebase_source : 53a77ea456f2aedafe05954ceece7e64db743e66
2013-01-14 16:26:47 -08:00
Andrew McCreight
c92a435c00 Bug 690970, part 3: fix black-gray edges in weak containers at start of CC. r=billm 2013-01-08 10:36:51 -08:00
Nicholas Nethercote
b7723e3c58 Bug 819819 (part 2) - Remove |name| from NS_MEMORY_REPORTER_MALLOC_SIZEOF_FUN. r=jlebar.
--HG--
rename : dom/tests/mochitest/localstorage/test_localStorageQuotaPrivateBrowsing_perwindowpb.html => dom/tests/mochitest/localstorage/test_localStorageQuotaPrivateBrowsing.html
rename : toolkit/components/places/tests/browser/browser_favicon_privatebrowsing_perwindowpb.js => toolkit/components/places/tests/browser/browser_favicon_privatebrowsing.js
extra : rebase_source : 557cc60522970ce7eea3b006d357284d9b4694c4
2012-12-23 16:59:51 -08:00
Andrew McCreight
c7d324a5f0 Bug 823226 - Add environment variables for controlling cycle collector logging. r=smaug 2012-12-19 14:35:50 -08:00
Neil Rashbrook
41d5c4cd99 Bug 818861 Shouldn't allow promising a flat string from a flat string r=dbaron 2012-12-22 20:40:37 +00:00
Andrew McCreight
84b97fc2a3 Bug 731853 - Add way to easily log CC with AllTraces at shutdown. r=smaug 2012-09-28 10:11:33 -07:00
Olli Pettay
066bca4dc5 Bug 818739, don't run CC during shutdown, r=mccr8 2012-12-14 20:41:11 +02:00
Andrew McCreight
9abc93145e Bug 812380 - optimize less aggressively in TraceWeakMapping. r=billm 2012-12-03 09:02:57 -08:00
Olli Pettay
2e7f4ef4ba Bug 811206, Fix JSHolder drop handling, part 2 (assert), r=mccr8
--HG--
extra : rebase_source : e7731c7d1f81e250ea6992e4a15c3dc52bb136d0
2012-11-28 02:56:06 +02:00
Benoit Jacob
10ffb47d44 Bug 811212 - Make most cycle collector assertions fatal - r=mccr8 2012-11-15 02:32:39 -05:00
Nicholas Nethercote
ab8ff34585 Bug 808467 - Rewrite the cycle collector's memory reporter. r=mccr8.
--HG--
extra : rebase_source : 9944d59772654a1df8db3227f1a8b18ae3dcfeda
2012-11-06 17:38:29 -08:00
Kartikaya Gupta
bfb7aadc3b Bug 806486 - Instead of setting/unsetting the umask which introduces potential race conditions, chmod the created files instead. r=glandium 2012-10-31 10:20:26 -04:00
Jacek Szpot
761b11160f Bug 792180 - Replace NS_{UN,}LIKELY with MOZ_{UN,}LIKELY; r=ehsan 2012-10-26 15:32:10 +02:00
Bill McCloskey
151b2aba2f Bug 798678 - Add weakmap key preservation support to cycle collector (r=mccr8) 2012-10-17 18:22:46 -07:00
Justin Lebar
70048a2062 Bug 800486 - Part 1: Dump a GC and CC log upon receiving SIGRTMIN + 2. r=mccr8,njn,cjones 2012-10-15 22:12:14 -04:00
Isaac Aggrey
481e7dfb0b Bug 791906: Replace NSPR integer limit constants with stdint ones; r=ehsan 2012-09-28 01:57:33 -05:00
Florian Quèze
c4fc8b5d9c Bug 790947 - Show in the error console the path to the dumped memory reports, r=njn,smaug. 2012-09-14 15:47:12 +02:00
Olli Pettay
25d848a912 Bug 790589 - Add env variable to define the cc/gc log directory, r=mccr8 2012-09-13 09:24:12 +02:00
Olli Pettay
db1899be76 Bug 784563 - Investigate being lazier about removing things from the purple buffer, r=mccr8 2012-09-08 13:46:48 +03:00
Andrew McCreight
5a7f7d30e1 Bug 785666 - Remove old-style CC Suspect and Forget functions. r=smaug,bsmedberg 2012-08-27 10:28:38 -07:00
Andrew McCreight
fbe861f103 Bug 749366 - Remove mostly bogus size arg from CC callbacks. r=smaug 2012-08-27 10:41:04 -07:00
Ryan VanderMeulen
31b5d3335d Merge m-c to inbound. 2012-08-24 16:18:09 -04:00
Olli Pettay
0a74c76449 Bug 785463 - Tweak PurpleBuffer Block size, r=mccr8 2012-08-24 12:26:44 -07:00
Ehsan Akhgari
e368dc9c85 Bug 579517 - Part 1: Automated conversion of NSPR numeric types to stdint types in Gecko; r=bsmedberg
This patch was generated by a script.  Here's the source of the script for
future reference:

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 "*.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 PRInt8 int8_t
convert PRUint8 uint8_t
convert PRInt16 int16_t
convert PRUint16 uint16_t
convert PRInt32 int32_t
convert PRUint32 uint32_t
convert PRInt64 int64_t
convert PRUint64 uint64_t

convert PRIntn int
convert PRUintn unsigned

convert PRSize size_t

convert PROffset32 int32_t
convert PROffset64 int64_t

convert PRPtrdiff ptrdiff_t

convert PRFloat64 double
2012-08-22 11:56:38 -04:00
Andrew McCreight
d5b4c64064 Bug 750570, part 2 - Add purple buffer support for non-nsISupports classes. r=smaug
We add a new field to purple buffer entries, to store the participant for
non-nsISupports classes. For nsISupports, we store NULL instead. The participant
has to be passed into Suspect2.

In the cycle collector itself, we generalize canonicalization to handle the
possibility that we can just grab the participant directly from a field,
rather than needing to QI something.

Most of the patch is just routing around this extra pointer.
2012-08-24 09:50:06 -07:00
Aryeh Gregor
d0ad5a7d0c Bug 777292 part 2 - Change all nsnull to nullptr 2012-07-30 17:20:58 +03:00