Commit Graph

271 Commits

Author SHA1 Message Date
Jan Beich
cba03f3ca4 Bug 942488 - Don't report pseudo-stacks without SPS profiler. r=nchen 2013-11-25 09:24:00 -05:00
Jim Chen
79cfbea60a Bug 932865 - Collect thread hang stats in BackgroundHangMonitor; r=froydnj 2013-11-22 14:17:31 -05:00
Jim Chen
ccc28a217a Bug 932865 - Record inactive thread hang stats inside telemetry; r=vladan 2013-11-22 14:17:31 -05:00
Jim Chen
d4f6788c21 Bug 932865 - Add way for telemetry to iterate over active threads; r=froydnj 2013-11-22 14:17:31 -05:00
Jim Chen
69096dfe3b Bug 935092 - Add ThreadStackHelper to get a thread's pesudo-stack; r=BenWa 2013-11-22 14:17:30 -05:00
Jim Chen
d06930bcfa Bug 909974 - Stop the monitor thread when the BackgroundHangManager instance is destroyed; r=froydnj 2013-11-22 14:17:30 -05:00
Jim Chen
5e9265f76b Bug 909974 - Let monitor thread detect hangs in addition to permahangs; r=froydnj 2013-11-22 14:17:29 -05:00
Jim Chen
4a54fbe684 Bug 909974 - Add a hang monitor for background threads; r=froydnj 2013-11-22 14:17:29 -05:00
Benjamin Smedberg
dca2c2b5ab Bug 672843 part C - convert most of XPCOM except for xpcom/tests, r=vdjeric 2013-11-19 16:27:37 -05:00
Ehsan Akhgari
fbd7944f83 Bug 936912 - Build xpcom in unified mode; r=froydnj 2013-11-18 21:34:00 -05:00
Mike Hommey
931cb49886 Bug 939632 - Remove LIBRARY_NAME for leaf libraries. r=gps
Landing on a CLOSED TREE.
2013-11-19 11:50:54 +09:00
Mike Hommey
db9e5129bc Bug 939074 - Remove most LIBXUL_LIBRARY. rs=gps 2013-11-19 11:48:10 +09:00
Mike Hommey
f0d1cd1e10 Bug 939044 - Remove most definitions of MODULE. r=mshal 2013-11-19 11:47:39 +09:00
Mike Hommey
f81885e53b 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
Trevor Saunders
c056c06f2a bug 931792 - only init sCanaryOutputFD once r=bsmedberg 2013-10-29 16:58:09 -04:00
Christian Holler
8fc5734b53 Bug 829617 - Make access to gTimestamp in HangMonitor atomic. r=froydnj
--HG--
extra : rebase_source : d40c8aee4dec4da601d451e29eb84c679ec60e9c
2013-10-29 00:29:00 +01:00
Carsten "Tomcat" Book
14a3507643 Merge Mozilla-Inbound to Mozilla-Central 2013-10-25 10:12:00 +02:00
Karl Tomlinson
870bbe7dd2 back out 242bb2279283 from bug 928222 on suspicion of causing bugs 930495 930479 930428 2013-10-25 17:40:39 +13:00
Mike Hommey
f1c0c07862 Bug 929905 - Consolidate sources in moz.build. r=gps 2013-10-25 08:23:05 +09:00
Mike Hommey
80c623bb6a Bug 921492 - Make StrictOrderingOnAppendList use actual alphabetical sorting. r=mshal,r=gps 2013-10-24 08:05:43 +09:00
Karl Tomlinson
7356a80cad b=928222 remove nsThreadPool per-thread event queues r=bsmedberg
The way idle nsThreadPool threads wait with a timeout doesn't work well with
shutdown from nsThreadManager.

nsThreadPool doesn't need to use nsIThread for its threads.  The nsIThread
interface is not useful for threads running in an nsThreadPool.
The nsIEventTarget on the nsIThreadPool should be used for dispatching events,
not an interface on the individual threads, and the threads don't need an
nsEventQueue because they use the nsEventQueue on the nsThreadPool.

Shutdown of single event threads is easier than running nested event loops for
nsIThreads, avoiding the multilevel nested event loop situations when several
threads finish and are shutdown.  While the ThreadFunc is running, a nested
event loop is still used in Shutdown() in case some consumers might need it
and because that is the documented API.

This also simplifies thread creation, avoiding races that could mean there was
temporarily an extra thread or more.

--HG--
extra : transplant_source : %F7%14%16%12%EF%E9%84%19D%26%3C%FE%1F%EC%FF%A3%BAG%C4%F3
2013-10-24 09:31:15 +13:00
Karl Tomlinson
e914e6bb1a b=926522 remove unecessary shutdown code from ~nsThreadPool r=bsmedberg
While threads are processing their initial runnable, which is the nsThreadPool, it will not be
destroyed.  The threads remove themselves from mThreads before returning from Run().

This includes removal of changes from bug 900711.

--HG--
extra : transplant_source : %EF%E9%94L%E9d%F5%99b%09r%CB%024%86%88%BA%EFi%29
2013-10-24 07:21:37 +13:00
Ehsan Akhgari
b02212d91b Bug 928040 - Remove some prtypes.h inclusions from xpcom/; r=bsmedberg
--HG--
extra : rebase_source : 2f238320ba8330a27aa986af1146446dcb5d7128
2013-10-18 20:34:57 -04:00
Birunthan Mohanathas
3bd29c41c6 Bug 784739 - Switch from NULL to nullptr in xpcom/ (3/3); r=ehsan 2013-10-10 16:42:16 -04:00
Thinker Lee ext:(%2C%20Cervantes%20Yu%20%3Ccyu%40mozilla.com%3E)
025fc12dba Bug 771765 - Support template content process, part 6: support re-creation of the threads created in the template process. r=khuey, r=jorendorff
The threads that are frozen/recreated include:
* ImageBridgeChildThread.
* Image decoding thread pool.
* IPC thread (checkpointed, but not frozen).
* GC Helper thread.
* XPC runtime watchdog thread.
* Socket transport service thread/thread pool.
* Memory pressure watcher.
* Timer thread.
* DOM promise worker.
2013-06-03 18:14:42 +08:00
Adam Roach [:abr]
abe0db8fec Bug 842549 - Part 5: Fix slots cleanup when VcmSIPCCBinding is destroyed r=ekr 2013-09-25 19:58:16 -05:00
Ehsan Akhgari
b91ba4ba3a Bug 919341 - Minimize the #includes in xpcom/ IDL files; r=bsmedberg 2013-09-23 13:29:27 -04:00
Trevor Saunders
b67894985c bug 915566 - rm makefiles in xpcom/ r=glandium 2013-09-12 08:15:51 -04:00
Chris Peterson
f1ba5c2ff6 Bug 905221 - sizeof(nsEventQueue::Page) should be a power of two to avoid heap allocation slop. r=bsmedberg 2013-09-02 19:30:19 -07:00
Robert O'Callahan
8ca63f18ef Bug 910989. Remove nsTHashtable::Init, fallible allocation, and MT hashtables. r=ehsan,bsmedberg
--HG--
extra : rebase_source : 0787130b1814c74bfb38dc178de94022f0b2e64e
2013-09-02 20:41:57 +12:00
Mike Hommey
05b3f24e0e Bug 912293 - Remove now redundant boilerplate from Makefile.in. r=gps 2013-09-05 09:01:46 +09:00
Gabriele Svelto
619cc7ccf1 Bug 907798 - Remove TimeStamp.h includes from source files that do not need it; r=ehsan 2013-08-24 08:12:51 +02:00
Ms2ger
b5df99e7e3 Revert this CLOSED TREE to changeset 4d3e221584a0. 2013-08-24 13:31:48 +02:00
Gabriele Svelto
b6e8140bfc Bug 907798 - Remove TimeStamp.h includes from source files that do not need it; r=ehsan 2013-08-24 08:12:51 +02:00
Nathan Froyd
dccf049cdc Bug 884281 - use mozilla::Atomic in xpcom/; r=bsmedberg,jlebar 2013-08-22 11:14:42 -04:00
Ben Turner
65e5c5c60d Bug 900711, fix bustage on CLOSED TREE 2013-08-22 09:48:43 -07:00
Ben Turner
497aafa628 Bug 900711 - '~nsIThreadPool can run the event loop if shutdown has not been called'. r=ehsan. 2013-08-02 13:19:36 -07:00
Ms2ger
19f3e043e3 Bug 904831 - Part b: Move unconditional MSVC_ENABLE_PGO definitions into moz.build; r=gps 2013-08-22 08:56:01 +02:00
Ms2ger
4d0ead0110 Bug 883284 - Part f: Move LIBXUL_LIBRARY into moz.build (p-z); r=glandium 2013-08-22 08:56:01 +02:00
Ryan VanderMeulen
30c0fa1d8a Backed out changeset d389df23ffc9 (bug 884281) for OSX crashes.
CLOSED TREE
2013-08-21 13:27:00 -04:00
Nathan Froyd
7e84fb44e4 Bug 907355 - fix warning about set-but-not-used variable in nsTimerImpl.cpp; r=ehsan 2013-08-20 15:22:27 -04:00
Nathan Froyd
9f2201c294 Bug 884281 - use mozilla::Atomic in xpcom/; r=bsmedberg 2013-08-20 11:21:31 -04:00
Kyle Huey
8ef412bec4 Bug 901630: Remove support for the cc thread. r=mccr8 2013-08-13 10:45:32 -07:00
Karl Tomlinson
d86fae77a1 b=900337 Document that nsIThreadPool::Shutdown() will run the event loop r=ehsan
--HG--
extra : transplant_source : %93%D8%96%C2%3A%60%7E%B9%96U%CC%C0%21e%A6%D2%BD%DD%E3-
2013-08-05 14:58:41 +12:00
Ehsan Akhgari
085494b95d 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
Joshua Cranmer
bb26e8f816 Bug 884061 - Part 4: Remove nsAtomicRefcnt.h, r=jlebar
--HG--
extra : rebase_source : ce24ab345baa48104328e3c101b7266a31e81870
2013-07-11 15:21:45 -05:00
Joshua Cranmer
0a16998703 Bug 884061 - Part 3y: Use NS_DECL_THREADSAFE_ISUPPORTS in xpcom/, r=bsmedberg
--HG--
extra : rebase_source : d54f6973e3ff859207115013e8361781769ffc76
2013-07-18 21:31:26 -05:00
Nicolas B. Pierron
a15779b07d Bug 876029 - Add Missing MPL header. r=jlebar DONTBUILD 2013-07-15 15:25:07 -07:00
Benoit Girard
103cc87697 Bug 892861 - Remove useless -D flags 'IMPL_THEBES,_IMPL_NS_GFX,...'. r=glandium 2013-07-12 08:56:54 -04:00
Trevor Saunders
238525e2d8 bug 887483 - remove a bunch of useless assignments to FORCE_STATIC_LIB implied by LIBXUL_LIBRARY=1 r=mshal 2013-07-11 11:06:34 -04:00