Commit Graph

303 Commits

Author SHA1 Message Date
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
Nicolas B. Pierron
6a756a0ea4 Bug 876029 - Make Gonk memory pressure by-pass the event queue. r=jlebar 2013-07-09 13:47:15 -07:00
Ryan VanderMeulen
3e3b5b26c1 Backed out changeset 1c6223f7c74f (bug 876029) for Android armv6 mochitest-1/3 crahes. 2013-07-07 21:18:36 -04:00
Nicolas B. Pierron
9eacb3bb84 Bug 876029 - Make Gonk memory pressure by-pass the event queue. r=jlebar 2013-07-07 16:02:58 -07:00
Arnaud Sourioux
d0e4de4609 Bug 744115 - Disallow dispatching events after threads shut down. r=bsmedberg 2013-07-07 16:23:43 -04:00
Michal Novotny
c50a800403 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
ed17339221 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
c4f3d9687f bug 877850 - fix static constructors in xpcom/ r=jlebar 2013-05-30 17:20:02 -04:00
Aaron Klotz
363223655e 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
38e97ed8fa 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
6f32ddf61c 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
410b0e63cc Bug 873960 - Avoid unnecessary idle thread notifications when changing thread limits. r=bsmedberg 2013-05-16 09:02:46 -07:00
Ted Mielczarek
47d7af59de 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
29ebfeceb8 Bug 331566 - Change idl interfaces to use @throws instead of @return NS_. r=bsmedberg 2013-05-16 08:26:55 -04:00
Vladan Djeric
1475f18b2f Bug 867313: 'crash on hang' doesn't always trigger. r=ehsan 2013-04-30 18:39:16 -04:00
Ben Turner
4028ba0d10 Bug 861287 - 'Integrate IndexedDB into the gecko profiler'. r=khuey. 2013-03-15 23:58:50 -07:00
Ben Turner
3bddc2523d Backout bug 861287 for gcc build failures. 2013-04-25 08:30:28 -04:00
Ben Turner
76b1c708ac Bug 861287 - 'Integrate IndexedDB into the gecko profiler'. r=khuey. 2013-03-15 23:58:50 -07:00
Aaron Klotz
34d3da3987 Bug 744836: Adds null checks for mEventTarget in nsTimerImpl. r=bsmedberg 2013-04-23 11:24:20 -06:00
David Rajchenbach-Teller
cc48ca0412 Bug 724368 - Expose the maximum number of threads. r=dougt 2013-04-19 07:54:18 -04:00
Mike Shal
24b4056720 Bug 846634 - Part 2: Move EXPORTS to moz.build; r=joey 2013-04-16 15:24:43 -04:00
Jason Duell
8bc89d2f03 Bug 792920 - clarify thread-safe use of nsITimer v2. r=bz DONTBUILD 2013-04-08 15:20:00 -07:00
Jason Duell
31a0a3cbe4 Bug 792920 - Update nsITimer.idl comments re: off main-thread use. r=mcmanus DONTBUILD 2013-04-04 11:36:07 -07:00
Chris Peterson
f0e70418f8 Bug 579517 - Remove some PRBools. r=ehsan 2013-04-04 10:28:18 -07:00
Ehsan Akhgari
aa3139644f Bug 579517 follow-up: Remove NSPR types that crept in 2013-04-02 20:59:27 -04:00
Kyle Machulis
f5e3aadf0b Bug 855465 - Add emacs python mode comments to moz.build files; r=gps 2013-04-01 11:36:59 -07:00
Kyle Machulis
d2b6e6e01a 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
5663b98bc5 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
Benjamin Smedberg
79410f2890 Bug 853998 - Add a common "SyncRunnable" class which dispatches events totally synchronously, avoiding event loop spinning or automatic promotion of this event to a nsThread, r=bsmedberg 2013-03-26 09:11:00 -07:00
Benoit Girard
6ed333dbb5 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
bbe4c3065e Bug 851611 - Part 2: Update profiler calls. r=jrmuizel
--HG--
extra : rebase_source : f76accc3d3dd86c75cb3e9750734f23ec9c29941
2013-03-16 00:47:02 -04:00
Mike Shal
f290401a73 Bug 852534 - Remove GRE_MODULE from Makefile.in; r=gps 2013-03-21 08:41:00 -07:00
Mike Shal
ea1d9b8ba7 Bug 844654 - Part 2: Move MODULE to moz.build; rs=gps 2013-03-19 11:47:00 -07:00
Ed Morley
4a0f5f39ca Backed out changeset c75481a07302 (bug 851611) 2013-03-18 14:10:35 +00:00
Ed Morley
47bc17c5f5 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
90f13c7e56 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
95a5b4c35f Bug 851611 - Part 2: Update profiler calls. r=jrmuizel
--HG--
extra : rebase_source : 3032aaf7e50cdf9c350da688ec34e50a695fc7ca
2013-03-16 00:47:02 -04:00
Nicholas Nethercote
69d77f581b Bug 847248 (part 10) - Rewrite TimerEventAllocator and remove nsFixedSizeAllocator. r=bz,ehsan; sr=bsmedberg.
--HG--
extra : rebase_source : aaa9c2d0ffd268e8f1b9184e8230b1e7932f014d
2013-03-06 14:29:30 -08:00
Daniel Holbert
0d1377f7a3 Bug 849086: Remove unused *_CLASSNAME defines. r=bsmedberg 2013-03-15 10:52:10 -07:00
Avi Halachmi
6d3158ca39 Bug 590422: Remove delay line filter from timer thread. r=bz 2013-02-20 20:21:09 +02:00
Mike Shal
2eb7c496cb Bug 818246 - Part 7: Move XPIDL_MODULE to moz.build; rs=gps 2013-03-11 22:00:00 -07:00
Gregory Szorc
629b5d86c6 Bug 818246 - Part 4: Move XPIDLSRCS into moz.build (auto); rs=glandium
This is the result of running
|mach mozbuild-migrate --list XPIDLSRCS SDK_XPIDLSRCS XPIDL_SOURCES| and
reverting xpcom/sample/*.
2013-03-12 10:17:46 -07:00
Nicholas Nethercote
7b154916c9 Bug 847248 (part 2) - Use a smaller chunk size in TimerEventAllocator. r=bz. 2013-03-03 18:50:06 -08:00
Ehsan Akhgari
615bf8538f Bug 799142 - Make sure that the allocator for nsTimerEvent objects stays around long enough to deallocate all outstanding objects of that type; r=bsmedberg 2013-03-04 19:04:59 -05:00
Ehsan Akhgari
c6a64c8ee6 Backed out 2 changesets (bug 799142) because of memory leaks
Backed out changeset a0cf0252cee4 (bug 799142)
Backed out changeset 7b1bb476bd8d (bug 799142)
2013-03-04 15:48:04 -05:00
Ehsan Akhgari
f98090171e Bug 799142 follow-up: build bustage fix
landed on a CLOSED TREE
2013-03-04 14:41:54 -05:00
Ehsan Akhgari
6c365171c6 Bug 799142 - Make sure that the allocator for nsTimerEvent objects stays around long enough to deallocate all outstanding objects of that type; r=bsmedberg 2013-03-04 14:24:05 -05:00
Gregory Szorc
e016eca62d Bug 784841 - Part 18ν: Convert /xpcom; f=Ms2ger rs=ted 2013-02-25 13:20:02 -08:00
Ehsan Akhgari
e93adf3b70 Fix the documentation of TimerEventAllocator threading expectations, no bug, DONTBUILD 2013-02-18 21:13:26 -05:00
Boris Zbarsky
6973c53b71 Bug 618479 part 2. Use binary, not linear, search to determine timer insertion locations. r=brendan 2013-02-13 10:11:53 -05:00
Chris Peterson
c1d4245ebd Bug 839962 - Part 2: Replace some XPCOM thread NS_ASSERTIONs with MOZ_ASSERTs. r=bsmedberg 2013-02-07 21:54:20 -08:00
Chris Peterson
c8295d4247 Bug 839962 - Part 1: Replace some XPCOM refcount NS_ASSERTIONs with MOZ_ASSERTs. r=bsmedberg 2013-02-07 20:50:05 -08:00
Nicholas Nethercote
16e75efa9f Bug 818793 - Add a |aMaxFrames| parameter to NS_StackWalk. r=jlebar,glandium; sr=dbaron. 2012-12-20 21:31:57 -08:00
Gabriele Svelto
b9602a0925 Bug 814771 - Add a cancelable runnable and use it to cancel a pending memory minimization procedure when an application is brought to the foreground r=jlebar 2012-12-11 19:13:29 +01:00
Theo Chevalier
f62b7f2d35 Bug 699806 - Enable Telemetry by default on Nightly and Aurora channels (Desktop), r=mak77 2012-12-08 18:41:23 +01:00
Bas Schouten
6a7b3d219c Bug 816117 - Part 1: Add the ability to pass around a windows Thread Context to StackWalkMain64. r=ehsan 2012-12-08 06:15:21 +01:00
Rafael Ávila de Espíndola
785eb3f43f Bug 808699 - Change the wire format for hang reports. r=vladan. 2012-11-20 09:45:14 -05:00
Brian R. Bondy
26451f3838 Bug 795887 - Mirror existing sleep notification handling with process suspend notification handling. r=bsmedberg 2012-11-09 10:34:10 -05:00
Nathan Froyd
f9b2a74082 Bug 806618 - rewrite PR_NewLogModule calls to not generate static initializers; r=ehsan 2012-10-29 19:32:10 -04:00
Ehsan Akhgari
78b2656cbc Backed out 2 changesets (bug 579517)
Backed out changeset 5298adc70963
Backed out changeset 86ccf7c918ce (bug 579517)
2012-10-25 12:32:24 -04:00
Ehsan Akhgari
03be701616 Code hygiene: don't use PR_TRUE and PR_FALSE, and use stdint types instead of PRInt types (no bug really, but you could say bug 579517) 2012-10-25 11:48:19 -04:00
Makoto Kato
944c777b7e Bug 803476 - RunProcess may leak memory if ShellExecuteEx is failure. r=bsmedberg 2012-10-24 13:46:52 +09:00
Olli Pettay
f060a0ba42 Bug 780770, nsThread::SetMainThreadObserver, r=bz+bholley 2012-10-24 01:26:36 +03:00
Abhishek Potnis
8ad6e4b4f3 Bug 795511: Removed usages of PR_BIT and PR_BITMASK from the tree; r=ehsan 2012-10-20 07:31:43 +05:30
Trevor Saunders
e2db6e1941 bug 798595 - remove useless prmem.h includes r=ehsan 2012-10-04 02:14:06 -04:00
Jacek Caban
c006d4a323 Bug 797316 - Fix -Werror=conversion-null errors in Windows-only code (xpcom/threads part) r=ehsan
--HG--
extra : rebase_source : 177a5faf91a90016807060293743cde13001a88c
2012-10-04 10:30:03 +02:00
Isaac Aggrey
0cc4b12d36 Bug 791906: Replace NSPR integer limit constants with stdint ones; r=ehsan 2012-09-28 01:57:33 -05:00
Isaac Aggrey
84680bfb39 Bug 789847 - Remove PR_CALLBACK usage from tree 2012-09-25 11:18:38 -05:00
Ehsan Akhgari
70ba385729 Bug 792502 - Kill the FunctionTimer code; r=vlad 2012-09-19 16:59:38 -04:00