Commit Graph

256 Commits

Author SHA1 Message Date
Christian Holler
b88ba8dbad 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
f3d4996b70 Merge Mozilla-Inbound to Mozilla-Central 2013-10-25 10:12:00 +02:00
Karl Tomlinson
727bf8ca64 back out 242bb2279283 from bug 928222 on suspicion of causing bugs 930495 930479 930428 2013-10-25 17:40:39 +13:00
Mike Hommey
1d566f7586 Bug 929905 - Consolidate sources in moz.build. r=gps 2013-10-25 08:23:05 +09:00
Mike Hommey
61124c1afc Bug 921492 - Make StrictOrderingOnAppendList use actual alphabetical sorting. r=mshal,r=gps 2013-10-24 08:05:43 +09:00
Karl Tomlinson
47186024e8 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
7dbf5c98ba 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
387a4f7600 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
8931f631a5 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)
d6da7b763f 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]
de9fad68d9 Bug 842549 - Part 5: Fix slots cleanup when VcmSIPCCBinding is destroyed r=ekr 2013-09-25 19:58:16 -05:00
Ehsan Akhgari
276e4b787c Bug 919341 - Minimize the #includes in xpcom/ IDL files; r=bsmedberg 2013-09-23 13:29:27 -04:00
Trevor Saunders
946e5b4a08 bug 915566 - rm makefiles in xpcom/ r=glandium 2013-09-12 08:15:51 -04:00
Chris Peterson
30c11b883c 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
33cdb42706 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
f1cf3b4238 Bug 912293 - Remove now redundant boilerplate from Makefile.in. r=gps 2013-09-05 09:01:46 +09:00
Gabriele Svelto
c8251ce6f3 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
944d17423c Revert this CLOSED TREE to changeset 4d3e221584a0. 2013-08-24 13:31:48 +02:00
Gabriele Svelto
1d1671942d 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
3be905a68a Bug 884281 - use mozilla::Atomic in xpcom/; r=bsmedberg,jlebar 2013-08-22 11:14:42 -04:00
Ben Turner
daf48f83c0 Bug 900711, fix bustage on CLOSED TREE 2013-08-22 09:48:43 -07:00
Ben Turner
7babe734dc 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
4922ccbc0a Bug 904831 - Part b: Move unconditional MSVC_ENABLE_PGO definitions into moz.build; r=gps 2013-08-22 08:56:01 +02:00
Ms2ger
c3e345584c Bug 883284 - Part f: Move LIBXUL_LIBRARY into moz.build (p-z); r=glandium 2013-08-22 08:56:01 +02:00
Ryan VanderMeulen
e0ea2a7e48 Backed out changeset d389df23ffc9 (bug 884281) for OSX crashes.
CLOSED TREE
2013-08-21 13:27:00 -04:00
Nathan Froyd
f9188e7564 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
b490da9c25 Bug 884281 - use mozilla::Atomic in xpcom/; r=bsmedberg 2013-08-20 11:21:31 -04:00
Kyle Huey
e9e214aa0e Bug 901630: Remove support for the cc thread. r=mccr8 2013-08-13 10:45:32 -07:00
Karl Tomlinson
00919a0fdf 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
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
Joshua Cranmer
7b9a04da79 Bug 884061 - Part 4: Remove nsAtomicRefcnt.h, r=jlebar
--HG--
extra : rebase_source : ce24ab345baa48104328e3c101b7266a31e81870
2013-07-11 15:21:45 -05:00
Joshua Cranmer
03b669f709 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
f5e41e585a Bug 876029 - Add Missing MPL header. r=jlebar DONTBUILD 2013-07-15 15:25:07 -07:00
Benoit Girard
5b43ee14ca Bug 892861 - Remove useless -D flags 'IMPL_THEBES,_IMPL_NS_GFX,...'. r=glandium 2013-07-12 08:56:54 -04:00
Trevor Saunders
82e5558b37 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
Nicolas B. Pierron
a0ecacf230 Bug 876029 - Make Gonk memory pressure by-pass the event queue. r=jlebar 2013-07-09 13:47:15 -07:00
Ryan VanderMeulen
11e25eb4b6 Backed out changeset 1c6223f7c74f (bug 876029) for Android armv6 mochitest-1/3 crahes. 2013-07-07 21:18:36 -04:00
Nicolas B. Pierron
357fed3c71 Bug 876029 - Make Gonk memory pressure by-pass the event queue. r=jlebar 2013-07-07 16:02:58 -07:00
Arnaud Sourioux
9256d2b930 Bug 744115 - Disallow dispatching events after threads shut down. r=bsmedberg 2013-07-07 16:23:43 -04:00
Michal Novotny
6478173231 Bug 886791 - Deadlock can occur if nsThreadPool::Dispatch() is called under lock, r=bsmedberg 2013-06-26 01:18:39 +02: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
Trevor Saunders
0230640bc6 bug 877850 - fix static constructors in xpcom/ r=jlebar 2013-05-30 17:20:02 -04:00
Aaron Klotz
5cf638ca73 Bug 744836: Modify nsTimerEvent to hold its timer reference until the nsTimerEvent itself is destroyed. r=bsmedberg,ehsan 2013-05-30 10:19:18 -06:00
Julian Seward
004a71f006 Bug 872496 - Allow early registration of stack tops, to improve native unwind quality. r=bgirard. 2013-05-28 14:03:38 +02: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
Chris Peterson
81b2f45d57 Bug 873960 - Avoid unnecessary idle thread notifications when changing thread limits. r=bsmedberg 2013-05-16 09:02:46 -07:00
Ted Mielczarek
110919af49 bug 871712 - make MSVC PGO opt-in per-directory, and opt-in in the directories that matter. r=glandium 2013-05-16 09:33:26 -04:00
Maria Grazia Alastra
d645d2e812 Bug 331566 - Change idl interfaces to use @throws instead of @return NS_. r=bsmedberg 2013-05-16 08:26:55 -04:00
Vladan Djeric
09e2368b6a Bug 867313: 'crash on hang' doesn't always trigger. r=ehsan 2013-04-30 18:39:16 -04:00
Ben Turner
0514a30d13 Bug 861287 - 'Integrate IndexedDB into the gecko profiler'. r=khuey. 2013-03-15 23:58:50 -07:00